这是我的表格:
<%= form_tag("/adverts", :method => "get") do %>
Order by:
<%= select_tag :order_by, options_for_select([['Ascending', 'ASC'], ['Descending', 'DESC']])%>
<%= text_field_tag :text%>
<%= submit_tag 'Change' %>
<% end %>
在我的广告控制器中,索引方法,现在我没有做任何事情,我可以看到它从表单中获取正确的值,
=&gt;但是在提交后页面重新加载时,字段值为空,但我希望它们保留值。
因此,如果我在文本字段中输入一些文本,则在提交表单后该文本仍然存在。
答案 0 :(得分:3)
像这样:
<%= select_tag :order_by, options_for_select([['Ascending', 'ASC'], ['Descending', 'DESC']], params[:order_by]) %>
和
<%= text_field_tag :text, params[:text] %>
请参阅options_for_select
和text_field_tag
的API。
答案 1 :(得分:2)
如果希望在重新加载时自动获取对象值,则需要为对象创建表单。
<%= form_for @object do |form| %>
<%= form.text_field :name %> <!-- automatically gets re-populated with the value of @object on postback -->
<%= form.submit %>
<% end %>
如果您真的想使用表单标签而不是构建器,那么您需要在回发后手动设置值
<%= text_field_tag :text, some_string_value %>