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~

你可能感兴趣的:(RoR,ActiveRecord)