【发布时间】:2010-12-05 18:15:17
【问题描述】:
我想通过在 ActiveRecord 中定义属性来创建一个默认值。默认情况下,每次创建记录时,我都希望属性:status 有一个默认值。我试着这样做:
class Task < ActiveRecord::Base
def status=(status)
status = 'P'
write_attribute(:status, status)
end
end
但是在创建时我仍然从数据库中检索到这个错误:
ActiveRecord::StatementInvalid: Mysql::Error: Column 'status' cannot be null
因此,我认为该值未应用于属性。
在 Rails 中执行此操作的优雅方式是什么?
非常感谢。
【问题讨论】:
-
stackoverflow.com/questions/328525/… 提供更完整和最新的答案
标签: ruby-on-rails activerecord