2012-04-11 191 views
1

我有公司有很多電話。RailsAdmin +嵌套模型

我創建種子數據增加1家公司和1個電話

當RailsAdmin使得公司形式,手機顯示的字段嵌套正確。

當我點擊「添加新的手機」,它增加了2片(每寫着「手機(新)」),但無法獲得域顯示。我再次單擊「添加新手機」,再次獲得2個標籤,但無法輸入數據。

def Company < ActiveRecord::Base 
    has_many :phones 
    attr_accessible :name, :phones_attributes 
    accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? } 
end 

def Phone < ActiveRecord::Base 
    belongs_to :company, :inverse => :phones 
    attr_accessible :number, :provider, :phone_type 
end 

順便說一句 - 無所謂如果編輯或新的,這兩個「添加新手機」不顯示任何字段輸入數據。

+0

控制檯說什麼?以及development.log文件中有什麼? – YogiZoli 2012-04-11 02:47:23

+0

當我點擊「添加新」標籤顯示,但沒有在日誌中顯示,就好像網絡請求從未做過。 – pcasa 2012-04-11 11:32:43

回答

0

剛從軌道3.1.3到3.2.6有同樣的問題。我通過將id和foreign_id添加到attr_accessible來解決它。

def Company < ActiveRecord::Base 
    has_many :phones 
    attr_accessible :id, :name, :phones_attributes 
    accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? } 
end 

def Phone < ActiveRecord::Base 
    belongs_to :company, :inverse => :phones 
    attr_accessible :id, :number, :provider, :phone_type, :company_id 
end 
0

我不知道這是否可以幫助很多,但我有太多,因爲我是用另一種嵌套式的寶石,發生衝突(至少在JS)這一問題與一個RailsAdmin依賴。當我刪除該gem(我相信awesome_nested_forms)時,所有內置的RailsAdmin has_many關聯窗口小部件都會再次正常運行。