Html 无法为下拉框设置:selected=>

Html 无法为下拉框设置:selected=>,html,ruby-on-rails,ruby-on-rails-4,Html,Ruby On Rails,Ruby On Rails 4,之前已经进行过调查的用户将收到一张表格,以填写其地址。用户在填写调查时已经提供了他们居住的州 出于礼貌,我想用他们选择的状态预选下拉列表。我正在使用数组us_states预加载下拉列表。状态的简写名称保存到用户模型中的db中。以下选择不会预选状态,下拉框中显示的状态是数组中的第一个状态:“Alabama”。生成的HTML如下所示 <%= f.select :state, options_for_select(us_states), :selected => @user.state %

之前已经进行过调查的用户将收到一张表格,以填写其地址。用户在填写调查时已经提供了他们居住的州

出于礼貌,我想用他们选择的状态预选下拉列表。我正在使用数组us_states预加载下拉列表。状态的简写名称保存到用户模型中的db中。以下选择不会预选状态,下拉框中显示的状态是数组中的第一个状态:“Alabama”。生成的HTML如下所示

<%= f.select :state, options_for_select(us_states), :selected => @user.state %>


<select id="pub_state" name="pub[state]"><option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
...
</select>



 def us_states
      [
        ['Alabama', 'AL'],
        ['Alaska', 'AK'],
        ['Arizona', 'AZ'],
      ...
      ]
   end

尝试将所选选项传递给选项\u for\u选择方法:

options_for_select(us_states, @user.state)

从源代码中可以看到,options_for_select正在生成HTML标记本身,包括selected属性。我想说的是,如果您删除了选项并直接传入选项,那么您还可以使用:selected属性。