0

Mongoid を使用した grouped_collection_select に問題があります。私が得ているエラーメッセージは次のとおりです: ActionView::Template::Error (undefined method `merge' for :name:Symbol).

Rails 3.2.12 と Mongoid の最新バージョンを使用しています。

これが私のコードです:

class States
  include Mongoid::Document
  field :_id
  field :name
  field :abbreviation
  field :countryId

  belongs_to :countries
end

class Countries
  include Mongoid::Document
  field :_id
  field :name
  field :abbreviation

  has_many :states
end

<div class="field"> 
  <%= f.label :_id, "Country" %><br />
  <%= f.collection_select :_id, Countries.order_by([:name, :asc]), :_id, :name, include_blank: true %>
</div>
<div class="field">
  <%= f.label :_id, "State or Province" %><br />
  <%= f.grouped_collection_select(:states, :countryId, Countries.order_by([:name, :asc]), :states, :name, :id, :name) %>
</div>

この問題を解決するための助けをいただければ幸いです。

4

1 に答える 1

0

f.grouped_collection_selectこれは、最初のパラメーターが から推測されることを意味しますf.object。最初のパラメーターを削除し、2 番目のパラメーターを保存先のフィールドの列名に変更すると、問題が解決するはずです

<%= f.grouped_collection_select(:state, Countries.order_by([:name, :asc]), :states, :name, :id, :name) %>
于 2013-03-29T03:21:19.110 に答える