2012-01-31 161 views
3

我正在嘗試使用活動管理員開始。我有這個型號:rails activeadmin(多)嵌套形式

class Client < ActiveRecord::Base 
    has_many :direcctions 

    validates :empresa, :presence => true 
    validates :fono, :presence => true 
    validates :giro, :presence => true 
    accepts_nested_attributes_for :direccionts 
end 

class Direction < ActiveRecord::Base 
    belongs_to :client 
    has_one :city 
    accepts_nested_attributes_for :city 
end 

class City < ActiveRecord::Base 
    belongs_to :direction 
end 

在我Activeadmin.register塊的客戶,我有:

ActiveAdmin.register Cliente do 
    form do |f| 
    f.inputs do 
     f.input :empresa 
     f.input :fono 
     f.input :giro 
    end 

    f.inputs "Direcciones" do 
     f.has_many :directions do |j| 
     j.input :direction 
     # j.inputs "Ciudad" do 
     #  j.has_one :ciudads do |r| 
     #   r.input :city 
     #  end 
     # end 
     end 
    end 

    f.buttons 
    end 
end 

有了這個,我不能多方向增加一個cliente,但我不能顯示輸入添加一個城市到一個方向...我該怎麼做?這不工作..我也有這樣的錯誤,當我嘗試創建一個客戶端:

unknown attribute: client_id 

在此先感謝...

+1

我想同樣的,沒有好的結果呢。無論如何,我認爲在「:direccionts」中存在拼寫錯誤。來自阿根廷的問候 – MegaTux 2012-01-31 14:08:46

+0

它似乎爲時已晚,但可能你應該將'client_id'添加到'permit_params',不要。如:'permit_params:client_id' – 2017-08-22 15:18:25

回答

-1

ActiveAdmin使用賈斯汀法國的Formtastic gem,這樣你就可以使用DSL直接在你的表格中,例如:

f.inputs "Direcciones" do 
    f.semantic_fields_for :directions do |j| 
    j.input :direction 
    j.inputs "Ciudad" do 
     j.semantic_fields_for :ciudads do |r| 
     r.input :city 
     end 
    end 
    end 
end