1

このようなURLがありますhttp://example.com/myController?key=12345

私のコントローラーmyControllerでは、でキー値にアクセスできますがparams[:key]、フォームを送信するときに、createメソッドで同じキーを取得したいのですが、params[:key]null です。

params[:key]投稿アクションでアクセスするにはどうすればよいcreateですか?

4

4 に答える 4

2

確かに隠しフィールドを追加するかもしれません。

より多くのアクションで値を使用できるようにする必要があるため、それらの多くを追加していることに気付いた場合は、セッション内で次のように設定することを検討してください (例)session[:current_key]

于 2013-07-31T08:34:58.113 に答える
1

で情報を渡すことができますhidden_field_tag。したがって、コードは次のようになります。

<%= form_for @model do |f| %>
    <%= hidden_field_tag 'key', params[:key]
    # other form code
    <%= f.submit %>
<% end %>
于 2013-07-31T03:02:50.790 に答える
1

非表示フィールドをフォームに追加して、その値を に設定できますparams[:key]。次に、フォームから取得したパラメーターで使用できるようになります。

シンプルフォームを使用している場合:

<%= simple_form_for @model do |f| %>
  ...
  <%= f.input :field_name, :as => :hidden, :input_html => { :value => params[:key] } %>
  <%= f.button :submit %>
<% end %>
于 2013-07-31T02:09:31.673 に答える