基于关联的ActiveRecord计算字段
我有一个会话ActiveRecord模型,基本上如下基于关联的ActiveRecord计算字段,activerecord,Activerecord,我有一个会话ActiveRecord模型,基本上如下 class Conversation < ActiveRecord::Base has_many :messages, :order => 'created_at ASC' belongs_to :latest_message, :class_name => 'Message' end 有什么想法吗?在我写问题时找到了答案: has_many :messages, :order => 'created_a
class Conversation < ActiveRecord::Base
has_many :messages, :order => 'created_at ASC'
belongs_to :latest_message, :class_name => 'Message'
end
有什么想法吗?在我写问题时找到了答案:
has_many :messages, :order => 'created_at ASC',
:after_add => :update_latest_message, :after_remove => :update_latest_message
def update_latest_message(message)
self.latest_message = self.messages.last
self.save
end
ActiveRecord关联回调允许我调用一个在必要时更新消息的方法。如果我不用再打电话给save就好了
has_many :messages, :order => 'created_at ASC',
:after_add => :update_latest_message, :after_remove => :update_latest_message
def update_latest_message(message)
self.latest_message = self.messages.last
self.save
end