2

这是我的表格:

<%= 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 %>

在我的 Adverts 控制器的 index 方法中,现在我什么都没做,我可以看到它从表单中获取正确的值,

=>但是当页面在提交后重新加载时,字段值为空,但我希望它们保留值。

因此,如果我在文本字段中输入一些文本,则在提交表单后该文本仍然存在。

4

2 回答 2

3

像这样:

<%= select_tag :order_by, options_for_select([['Ascending', 'ASC'], ['Descending', 'DESC']], params[:order_by]) %>

和:

<%= text_field_tag :text, params[:text] %>

请参阅 和 的options_for_selectAPI text_field_tag

于 2013-05-23T10:57:40.837 回答
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 %>
于 2013-05-23T10:52:15.297 回答