开发自定义消息系统(是的,我知道......还有一个)。Rails:回调中的父级build_association
我:
class Conversation << AR::Base
has_many :messages
end
class Message << AR::Base
belongs_to :conversation
# this is what I want, create a conversation if one isn't assigned
before_create :assign_to_conversation, :unless => :conversation
def
# but this won't save parent association
build_conversation(:subject => subject, :starter => user)
end
end
基本上,我希望能够跟踪邮件作为一个对话的一部分。如果用户发送新的信息,它应该成为新对话的一部分。如果msg是对现有convo的回复,我只想将该消息分配给该特定对话。
在messages_controller我想只是做
,而不必去与
def create
transaction do
c = Conversation.build(...)
c.messages.build(params[:message])
c.save
end
end
我试图让我的控制器简单,还开展对话和消息作为创作的一部分单笔交易。
Yeap。也不起作用。 – Swartz 2011-02-17 10:59:43