Ruby on rails Rails 3.2:选择未记住的选项
我遇到了一个奇怪的问题,在提交时没有记住我的选择选项(并且验证失败,重新加载表单) 这是我的密码Ruby on rails Rails 3.2:选择未记住的选项,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我遇到了一个奇怪的问题,在提交时没有记住我的选择选项(并且验证失败,重新加载表单) 这是我的密码 true%> 以下是美国各州的一些情况: def us_states [ ['Alabama', 'AL'], ['Alaska', 'AK'], < >无论我选择什么,它总是选择在选择框中显示空白选项。如果我根本不使用:include_空白,它总是显示阿拉巴马州。因此,它只是显示第一个字段。通过将其作为参数传递给\u select的options\
true%>
以下是美国各州的一些情况:
def us_states
[
['Alabama', 'AL'],
['Alaska', 'AK'],
< >无论我选择什么,它总是选择在选择框中显示空白选项。如果我根本不使用:include_空白,它总是显示阿拉巴马州。因此,它只是显示第一个字段。通过将其作为参数传递给\u select的
options\u来指定所选值
<%= form.select :state, options_for_select(us_states, form.object.state), :include_blank => true %>
true%>
文档。好的,轮到我了。
我会告诉你我如何在我的应用程序中使用它,
以身作则
下面的代码构成选择框。
<%= select("product", "id",options_for_select(MobilesLists.get_colors(mobile.mobile_name))) %>
它返回一个数组。所以,现在它变成了,
ruby-1.9.2-p290 :011 > MobilesLists.get_colors("Samsung Galaxy Y S5360")
=> [["black", 3], ["bubblegum pink", 5], ["fruity orange", 4], ["metallic grey", 1], ["silver platter", 6], ["white", 2]]
<%= select("product", "id",options_for_select([["black", 3], ["bubblegum pink", 5], ["fruity orange", 4], ["metallic grey", 1], ["silver platter", 6], ["white", 2]])) %>
<select id="product_id" name="product[id]"><option value="3">black</option>
<option value="5">bubblegum pink</option>
<option value="4">fruity orange</option>
<option value="1">metallic grey</option>
<option value="6">silver platter</option>
<option value="2">white</option></select>
if !params[:product][:id].nil?
@product_id = params[:product][:id].to_i
end
就这样!,谢谢 事实证明,我所要做的就是将第二个参数传递给options\u for\u select。所以我让它工作了
options\u for\u select(us\u states,@user.state)
当您删除时:包括\u blank=>true
它是否正常工作?没有接触任何其他代码?哦,没有,它只是显示阿拉巴马州总是那么。已更新问题。请将其中一个问题标记为正确。我认为你误解了我的问题。我问如何在重新加载表单时使选择框默认为所选值。如果可以的话,我会给出+10。虽然这是正确的,但我接受了Ogz向导的答案,答案是相同的。我宁愿接受别人的答案也不愿接受我自己的答案。