使用mailboxer - rails重用主题回复消息

时间:2014-03-09 13:57:19

标签: ruby-on-rails ruby ruby-on-rails-4

我正在使用名为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会在对话中的每个响应中允许不同的主题。如何从回复中删除主题,以便消息在整个时间内保持相同的主题?我应该修改回复方法吗?

1 个答案:

答案 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