2017-06-07 7 views
1

私は市場で働いています。 私はすべての製品を含むページを持っています。Mailboxer:製品ページの新しい会話へのリンクを作成する

この製品のそれぞれにリンクを作成して、ユーザーが販売者にメッセージを送信して新しい会話を作成できるようにします。

私はそれとのリンクの作成について考えています:

<%= link_to "Contactar", new_conversation_path %> 

をしかし、私は直接このリンクで受信者を置くことができますか?

「はい」の場合、conversation_controllerで何を変更する必要がありますか?

def new 
    recipients = Product.where(user: params[:user_id]) 
end 

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

答えて

0

しかし、私は直接このリンクで受信者を置くことができますか?

はい!あなたは

<%= link_to "Contactar", new_conversation_path(recipient_id: @your_recipient.id %> 

以下のようなリンクに直接個々の受信者IDを渡し、 新しい方法で params[:recipient_id]受信者のIDにアクセスすることができます。ここで

+0

ありがとうございますが、私は製品ページにあるので、ここでuser_idを取得するにはどうすればよいですか? 私のDBでは、製品テーブルに私はuser_idを持っています。 <%=のlink_to "Contactar"、new_conversation_path(recipient_id:@ service.id%> サービス= Service.find(のparams [:user_idを] はそのようになっているはず?) 事前 – Tomas

+0

@Tomasに感謝をあなたの場合*売り手のID *。 – Pavan

+0

ここに書いたもの: <%= link_to "Contac"、new_conversation_path(recipient_id:@seller)%> def new @ seller = Service.find(params [:user_id]) end しかし、私はエラーが発生しました。「id」のサービスを見つけることができませんでした。 – Tomas

0

は私が最終的に書かれたものです:

私の物でconversations_controllerで

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

をリスト:

def new 

@recipient = params[:recipient_id] 
end 

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

だから今の会話新しいページ、URLのショーに:/ conversations/new?recipient_id =

ありがとう@Pavan

関連する問題