0

我正在使用 RoR,我有一个 StateCity 对象,它有 2 个变量,州和城市。在我的 for 我有这段代码。

<%= collection_select( :state_city , :state , 
                          us_states , :id , :state_abbrev ) %>

我的集合是由这样的助手中的数组提供的。

def us_states
[
    {'state_name' => 'Alabama', 'state_abbrev' => 'AL'},
    ....
]

现在collection_set 方法需要一个value_method,但是如果你看到us_states,你可以知道我并不需要完整的模型。将低使用率类添加到应用程序中以便选择状态是不合适的。

PS 我正在使用 collection_select 完成所有这些操作,因为我希望我的表单在用户编辑时已经选择了 StateCity 模型的状态。如果有人认为我走错了路,请告诉我。

4

1 回答 1

0

解决方案是这样做。

    <%= form_for (@state_city) do |s| %>
      <div class="field">
        <%= s.label :city %><br />
        <%= s.text_field :city %>
       </div>
      <div class="field">
        <%= s.label "State" %><br />
        <%= select_tag("state", options_for_select(us_states ,@state_city.state )) %>
      </div>
    <% end %>
于 2012-12-15T06:31:36.043 回答