我有以下模型:
class Article < ActiveRecord::Base
attr_accessible :body, :date_time, :excerpt, :permalink, :title, :premium, :status
before_create :set_defaults
validates_inclusion_of :status , :in => %w(draft pending published) , :allow_blank => false
def set_defaults
self.status ||= 'draft'
end
end然而,当我像这样创建一个时:
article = Article.new( {
"title" => "test",
"body" => "test" ,
"excerpt" => "test"
} )
article.save它会失败,并提供以下错误:
[:status, "is not included in the list"]我正在尝试弄清楚为什么没有设置默认值。有什么想法吗?
发布于 2013-06-14 01:19:37
我认为您希望在创建回调之前先运行before_validation :set_defaults , :on => :create、验证。
https://stackoverflow.com/questions/17093165
复制相似问题