0

我正在使用 rails 4 中的邮箱 gem。我正在尝试这样做,以便当用户转到另一个用户的个人资料时,他们单击该个人资料上的一个按钮,该按钮向第二个用户发送消息。例如,A 转到 B 的个人资料并单击消息按钮。然后 B 将收到来自 a 的消息。在个人资料页面上,我有以下代码:

<%=current_user.send_message(@user, "Body", "subject") %>

我也尝试将上面的代码放在 link_to 标记中,但这不起作用。在接收消息页面上,我有以下从文档中获得的代码:

Conversations:

<%= current_user.mailbox.conversations %>


Inbox:

<%= current_user.mailbox.inbox %>

但是收件箱代码或对话代码中都没有出现任何内容。请帮忙。谢谢。

4

1 回答 1

0

如果您希望评估您的代码,请使用<%. <%=用于在页面上写出东西。此外 .send_message 方法确实不应该出现在您的视图中。在您的控制器中创建一个操作,或创建整个服务对象并使其负责消息传递。

一件事是这样的代码确实不属于视图。但更重要的是,你应该调用它,只有当用户点击一个链接。因此,简单的解决方案是:

  1. 在您的一个控制器中创建一个操作“send_message”
  2. 为此操作创建路线
  3. 将该行current_user.send_message(@user, "Body", "subject")放入您新创建的操作中,如果您不想要此操作的模板,请使用重定向
  4. 并在您的视图中添加一个链接(或按钮),到这个动作
于 2013-10-29T02:54:32.333 回答