首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ActiveRecord中设立字段默认值的方法

2012-12-27 
ActiveRecord中设置字段默认值的方法想做一个Event的记录先建立了一个scaffoldrails g scaffold Event nam

ActiveRecord中设置字段默认值的方法
想做一个Event的记录
先建立了一个scaffold
rails g scaffold Event name:string description:text status:string
之后
rake db:migrate
然后修改controllers/events_controller.rb
增加
validates :name,:status :presence => true
让name和status必输
然后想让status默认都是Y
这时候问题来了,刚才忘记在建migration里面把数据库里status的字段默认值设置成Y了
找到几个选择
1.新增一个migration或者db直接操作(不推荐),为status加上默认值
2.在model里after_initialize加一个方法
  after_initialize :default_values
  def default_values
    self.status ||= 'Y'
  end
3.这个比较无敌,有一个gem
https://github.com/FooBarWidget/default_value_for

最后选择了方法2~

热点排行