そのため、次のように collection_select を form_for オブジェクトにアタッチしているときにエラーが発生しました。
<%= f.collection_select(:city_id, @cities, :id, :name, {:prompt => "Select a City"}, {:id => 'cities_select', multiple: true}) %>
エラーが発生します:
undefined local variable 'city_id'
しかし、次のように選択をバインドしない場合:
<%= collection_select(nil, :city_id, @cities, :id, :name, {:prompt => "Select a City"}, {:id => 'cities_select', multiple: true}) %>
それは正常に動作します。
なぜ一方が機能し、もう一方が機能しないのかの背後にある理論を理解したいだけですか?