我正在开发Rails 4电子商务应用。在订单页面上,当收集地址信息时,我使用一个列出美国州的帮助方法获得状态下拉列表。
<%= f.select(:state, options_for_select(us_states), {prompt: "Select"}, {class: "form-control"}) %>
当用户在表单中出现错误时 - 例如输入的信用卡号码输入错误,当页面刷新并显示错误消息时,状态下拉列表会自动提取“Alabama”,因为这是下拉列表中列出的第一个状态。 / p>
我可以使用哪个选项保留以前选择的状态?
注意:保留所有其他信息,如地址等。只是状态下拉列表不会被保留。
答案 0 :(得分:2)
您可以将之前的状态保留为:
<%= f.select(:state, options_for_select(us_states, f.object.state_id), {prompt: "Select"}, {class: "form-control"}) %>
我假设您为模型定义了关联,因此也是外键state_id
。
答案 1 :(得分:0)
尝试使用f.select_tag而不是f.select