我正在使用名为mailboxer的gem来允许用户在彼此之间发送消息。
对于回复消息方法,有没有一种方法可以让用户每次回复对话时都跳过新主题?
在我的对话控制器中,这就是我所拥有的:
def reply
current_user.reply_to_conversation(conversation, *message_params(:body, :subject))
redirect_to conversation
end
我尝试使用:
def reply
current_user.reply_to_conversation(conversation, *message_params(:body, mailboxer.message_mailer.subject_reply))
redirect_to conversation
end
哪个没用。理想情况下,每个对话应该只有一个主题,我不确定为什么这个gem会在对话中的每个响应中允许不同的主题。如何从回复中删除主题,以便消息在整个时间内保持相同的主题?我应该修改回复方法吗?
答案 0 :(得分:1)
在我看来,如果没有主题传递给reply_to_conversation
,则主题设置为"RE: {conversation.subject}"
,其中conversation
是传递给reply_to_conversation
的第一个参数。
因此,一种解决方案是不将主题参数传递给此方法,例如:
current_user.reply_to_conversation(conversation, body)
如果你真的希望它只是复制主题(没有“RE:”),你会这样做:
current_user.reply_to_conversation(conversation, body, conversation.subject)
此方法的来源应该有所帮助:
https://github.com/ging/mailboxer/blob/master/lib/mailboxer/models/messageable.rb