1

以下は私のコードです

<% if @user.empty? == true %>
  <p> Sorry no data to display</p>
<%else%>
  <% @user.each do |n|%>
   User id = <%=n.id%> <br \>
   User type = <%=n.type%> <br \>
   User name = <%= n.name%> <br \>
   <%= link_to "Good. You can proceed on creating a new", new_user_product_path(current_user)%>
 <%end%>
<%end%>

このコードは現在searches#index. ご覧のとおり、一連の結果が表示された後、ユーザーが新しい製品を作成できるようにしたいと考えています。しかし、製品を作成するときは、 (そのフォーム)に確実<%= n.name%>に渡す必要があります。new_user_product_path(current_user)ただし、URL経由ではありません。

入力したいフォームフィールドは

<%= f.hidden_field :user_name%>

それで、どうすればいいですか?

ありがとう

4

2 に答える 2

1

私は解決策を見つけたと思う

グローバル変数を作っ<%=n.name%>たばかりなので、今すぐアクセスできます。<% $name = n.name %>

于 2013-05-04T14:38:28.333 に答える
1

現在のユーザー参照があるため、検索インデックスから名前を渡す必要はありません。

<%= f.hidden_field :user_name, current_user.name %>

これにより、現在のユーザー名の値を持つ非表示の入力がレンダリングされます。

ユーザーがフォームを送信した後にこのパラメーターを渡す必要はありません。

これを行っている場合、クライアントでユーザー名の参照を利用できるようにし、Javascript で次のようなことを行うことだと思います。

alert($('[ name = user_name ]').val());
于 2013-05-04T13:59:06.347 に答える