我有一个这样的网址http://example.com/myController?key=12345
在我的控制器myController
中,我可以使用 访问键值params[:key]
,但是当我提交表单时,我想在方法中获取相同的键create
,但params[:key]
为空。
我如何params[:key]
在我的帖子操作中访问create
?
我有一个这样的网址http://example.com/myController?key=12345
在我的控制器myController
中,我可以使用 访问键值params[:key]
,但是当我提交表单时,我想在方法中获取相同的键create
,但params[:key]
为空。
我如何params[:key]
在我的帖子操作中访问create
?
您可能确实添加了一个隐藏字段。
如果您发现自己添加了许多这些,因为您需要在越来越多的操作中使用该值,请考虑在会话中将其设置为(例如)session[:current_key]
您可以在表单中添加一个隐藏字段并将其值设置为params[:key]
。然后它将在您从表单中获得的参数中可用。
如果您使用的是简单表格:
<%= simple_form_for @model do |f| %>
...
<%= f.input :field_name, :as => :hidden, :input_html => { :value => params[:key] } %>
<%= f.button :submit %>
<% end %>
您可以通过 传递信息hidden_field_tag
。所以你的代码会是这样的:
<%= form_for @model do |f| %>
<%= hidden_field_tag 'key', params[:key]
# other form code
<%= f.submit %>
<% end %>
添加一个新的隐藏字段以通过参数传递,当您提交表单时,您的操作被更改或再次调用,参数哈希被重新创建;您可以做的是通过以下表单中的隐藏字段传递值,
<%= simple_form_for @model do |f| %>
# your remaining form fields
<%= f.input :field_name, as: :hidden, :input_html: { value: params[:key] } %>
<%= f.button :submit %>
<% end %>