2012-01-31 104 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