我正在嘗試創建一個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`