我正在尝试创建一个before_save
以将条目的名称设置为创建日期,如果它留空。我得到了它的方法来工作,这里是我的模型:为什么我得到未定义的方法`before_save'为false:如果在保存之前使用FalseClass?
class Entry < ActiveRecord::Base
belongs_to :user
has_many :entry_ingredients
has_many :ingredients, :through => :entry_ingredients
before_save :default_name
accepts_nested_attributes_for :ingredients, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => true
def default_name
if self.name.blank?
self.name = Time.new
else
self.name
end
end
end
不过,我认为是相同的代码似乎并没有在before_save
工作。基本上,我试图做到这一点before_save :default_name, :if => self.name.blank?
,然后我的方法是,像这样缩短:
def default_name
self.name = Time.new
end
为什么不说,如果声明before_save
工作?我得到错误undefined method
before_save'为false:FalseClass`