0

我在我group_collection_select的一种表格中遇到了一些麻烦。

这就是我得到的错误所说的:

undefined method `assert_valid_keys' for :company:Symbol

我已经解决了一段时间,但我就是无法得到这个。

我的grouped_collection_code样子是这样的:

<%= f.grouped_collection_select :subsector_id, Sector.all, :subsectors, :sector_name, :id, :subsector_name %>

我的模型如下所示:

class Sector < ActiveRecord::Base
  attr_accessible :sector_name
  has_many :companies
  has_many :subsectors
end

class Subsector < ActiveRecord::Base
  attr_accessible :sector_id, :subsector_name, :subsector_id
  belongs_to :sector, :company
end

class Company < ActiveRecord::Base
  belongs_to :sector
  has_many :subsectors, through: :sectors
end

我不知道这是否有帮助,但我为表单提供的 javascript 如下所示:

jQuery ->
  subsectors = $('#company_subsector_id').html()
  $('#company_sector_id').change ->
    sector = $('#company_sector_id :selected').text()
    options = $(subsectors).filter("optgroup[label='#{sector}']").html()
    if options
      $('#company_subsector_id').html(options)
      $('#company_subsector_id').parent().show()
    else
      $('#company_subsector_id').empty()
      $('#company_subsector_id').parent().hide()

您能否就如何解决此错误提供帮助或提供指导?

4

1 回答 1

1

您的belongs_to声明导致了这个问题。您的belongs_to声明中不能有多个名称。每个关联都需要单独定义。请将其更改为:

# Class Subsector < ActiveRecord::Base

belongs_to :sector
belongs_to :company

在这里查看 belongs_to 的文档:http: //apidock.com/rails/ActiveRecord/Associations/ClassMethods/belongs_to

于 2013-08-05T14:30:43.117 回答