邮箱:收件人收件箱未显示对话

时间:2017-06-07 15:55:37

标签: ruby-on-rails mailboxer

在我的市场的产品列表页面上,我创建了一个按钮,向每个产品的用户发送一条消息,其中包含link_to:

<%= link_to "Contact", new_conversation_path(recipient_id: product.user.id) %>

这是我的converations_controller:

class ConversationsController < ApplicationController
before_action :authenticate_user!



def index
@conversations = current_user.mailbox.conversations
end

def show
@conversation = current_user.mailbox.conversations.find(params[:id])
end

def new


@recipient = User.find(params[:recipient_id])
end

def create
recipient = User.find(params[:recipient_id]).id
receipt = current_user.send_message(@recipient, params[:body], params[:subject])
redirect_to conversation_path(receipt.conversation)
end

end

我的新会话页面:

<h1>New conversation</h1>


<%= form_tag conversations_path, method: :post do %>
<div>

</div>

<div>
<%= text_field_tag :subject, nil, placeholder: "Subject" %>
</div>

<div>
<%= text_area_tag :body, nil, placeholder: "Your message" %>
</div>


<%= submit_tag "Send",:class=>"btn btn-warning" %>

<% end %>

当我点击链接发送消息时,我正确地重定向到“新对话”页面,其网址上有:

/conversations/new?recipient_id=7

使用正确的用户ID的id,但是当我发送消息时,

我有以下错误:

无法找到'id'=

的用户

1 个答案:

答案 0 :(得分:0)

我最终使它工作,这是我的代码,也许它可以帮助其他:

(我在轨道5)

我的产品页面上的链接:

<%= link_to "Contactar", new_conversation_path(recipient_id: service.user.id) %>

我在会话控制器上的新操作和创建操作:

 def new
 @recipients = User.find(params[:recipient_id])

 end

 def create
 recipient = User.find_by(id: params[:recipient_id])
 receipt = current_user.send_message(recipient, params[:body],    params[:subject])
 redirect_to conversation_path(receipt.conversation)
 end

在新的对话中:

<%= hidden_field_tag(:recipient_id, "#{@recipients.id}") %>
相关问题