1

ユーザープロファイルのim、つまりパスは...

http://localhost:3000/users/2

現在のユーザー(私)がプロフィールページを表示しているときにユーザー2にプライベートメッセージを送信できるように、テキストフィールドがあります。

ユーザーIDを取得して非表示フィールドに渡すにはどうすればよいですか?

<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 %>

再度、感謝します

4

2 に答える 2

2

ネストされたルートを試してみます。

resources :users do
  resources :microposts
end

その後、

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

私は一般的にレールに隠されたフィールドを避けようとします、それは通常私がコンベンションを逃したことを意味します。

于 2012-04-21T20:42:17.957 に答える
1

コントローラには次のものがあります。

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

それで:

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

于 2012-04-21T20:17:12.150 に答える