このようなURLがありますhttp://example.com/myController?key=12345
私のコントローラーmyController
では、でキー値にアクセスできますがparams[:key]
、フォームを送信するときに、create
メソッドで同じキーを取得したいのですが、params[:key]
null です。
params[:key]
投稿アクションでアクセスするにはどうすればよいcreate
ですか?
このようなURLがありますhttp://example.com/myController?key=12345
私のコントローラーmyController
では、でキー値にアクセスできますがparams[:key]
、フォームを送信するときに、create
メソッドで同じキーを取得したいのですが、params[:key]
null です。
params[:key]
投稿アクションでアクセスするにはどうすればよいcreate
ですか?
確かに隠しフィールドを追加するかもしれません。
より多くのアクションで値を使用できるようにする必要があるため、それらの多くを追加していることに気付いた場合は、セッション内で次のように設定することを検討してください (例)session[:current_key]
で情報を渡すことができますhidden_field_tag
。したがって、コードは次のようになります。
<%= form_for @model do |f| %>
<%= hidden_field_tag 'key', params[:key]
# other form code
<%= f.submit %>
<% end %>
非表示フィールドをフォームに追加して、その値を に設定できますparams[:key]
。次に、フォームから取得したパラメーターで使用できるようになります。
シンプルフォームを使用している場合:
<%= simple_form_for @model do |f| %>
...
<%= f.input :field_name, :as => :hidden, :input_html => { :value => params[:key] } %>
<%= f.button :submit %>
<% end %>