0

私は RoR を使用しており、state と city の 2 つの変数を持つ StateCity オブジェクトを持っています。私の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私は、ユーザーが編集しているときにStateCityモデルの状態をフォームにすでに選択させたいので、collection_selectでこれをすべて行っています。私が間違った道を進んでいると思う人がいたら、教えてください。

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 に答える