0

我在使用 Mongoid 的 grouped_collection_select 时遇到问题。我收到的错误消息是:ActionView::Template::Error(未定义的方法 `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. 删除您的第一个参数并将第二个参数更改为您希望将其保存到的字段的列名应该可以解决您的问题

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