我有 2 个有关联的模型。我想在一个模型中设置 before_save 来修改另一个模型。这是我所拥有的:
class Event < ActiveRecord::Base
belongs_to :leads
end
class Lead < ActiveRecord::Base
before_save :update_event
has_many :events, :dependent => :destroy
accepts_nested_attributes_for :events, :reject_if => lambda { |a| a[:title].blank? }
def update_event
self.events.title = "Testing to set the event title"
end
end
最终,事件具有诸如标题之类的属性,这些属性将从系统内的各种模型关联中设置。在上面的示例中,Leads 就是其中之一。潜在客户将有一个可能事件的下拉列表,因此我想在 before_save 中做一些事情,而下拉列表中的选择最终会设置事件标题。如:
self.events.title = self.selected_event
我得到的错误如下:
undefined method `title=' for #<ActiveRecord::Relation:0x007fed3229d610>
我显然做错了。我会很感激任何帮助。我仍在寻找解决方案,如果我弄明白了,我会自己更新。
谢谢!