2013-08-05 113 views
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() 

您可以幫助或提供有關如何解決此錯誤的方向?

回答

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

+0

什麼是簡單的錯誤。我還沒有足夠的經驗來捕捉那些,但我猜...感謝您的幫助。 – Jarom

+0

@ user2543601,這些問題很容易忽略:) – vee