2012-04-21 26 views
1

IM上的用戶配置文件,即路徑爲...軌道,如何通過用戶ID,而在「秀」行動

http://localhost:3000/users/2 

我有一個文本字段,以便當前用戶(我)可以發送在他的個人資料頁面上給用戶2的私人消息。

我該如何檢索用戶標識並將其傳遞給隱藏字段?

<div><%= f.hidden_field :????, :value => ???? %></div> 

謝謝。隱藏標記字段是一種形式。這裏是形式,如果它有用

<%= form_for(current_user.microposts.build(params[:micropost])) do |f| %> 
    <%= render 'shared/error_messages', object: f.object %> 
    <div class="field"> 
    <%= f.text_area :content, placeholder: "Send a private message" %> 
    </div> 
    <div><%= f.hidden_field :private, :value => "true" %></div> 

    <%= f.submit "Post", class: "btn btn-large btn-primary" %> 
<% end %> 

再次感謝

回答

2

我會嘗試嵌套路線,例如

resources :users do 
    resources :microposts 
end 

然後用

<%= form_for([current_user, @micropost]) do |f| %> 

我會盡量避免一個隱藏字段通常在導軌,它通常意味着我錯過了約定。

+0

我蜷縮着做你做的事情。謝謝! – Sasha 2012-04-22 23:27:00

1

在你的控制器,你將有:

@user = User.find(params[:id])

所以:

<div><%= f.hidden_field :user_id, :value => @user.id %></div>

+0

在我看來,用戶對象已經在'current_user'中可用,因此您可以避免在控制器中發生額外的呼叫。 – 2012-04-21 20:19:34

+0

他們正在放映中,因此通話可能已經存在。他們想要用戶的個人資料,而不是current_user。 – DanS 2012-04-21 20:22:52

+0

啊,我現在明白了。 :) – 2012-04-21 20:23:13