2011-11-07 42 views
0

一直试图弄清楚为什么我的窗体无法正常工作。 - 这是 最接近我得到它的工作,它显示位置字段 当我这样做,但是当我提交表格时说“未知属性 位置”,我相信是因为位置实际上应该是 访问像f.inputs:name =>“Location”,:for =>:location do | location_form |,而不是我下面的(右),但是当我做它 非复数什么都没有显示出来。如果我做它复数,它doesen't 知道如何处理位置属性。任何人都可以告诉我,如果我 我做错了什么,或者如果这是一个错误?非常感谢 提前。rails ActiveAdmin嵌套窗体formtastic问题

class Store < ActiveRecord::Base 

    has_one :location 
    belongs_to :admin_user 
    accepts_nested_attributes_for :location 

end 

class Location < ActiveRecord::Base 

    belongs_to :store 

end 

ActiveAdmin.register Store do 

    form do |f| 
    f.inputs "Details" do 
     f.input :name 
     f.input :description 
     f.input :admin_user 
    end 

    f.inputs :name => "Location", :for => :locations do |location_form| 
     location_form.input :address 
    end 

    f.buttons 
    end 
end 

回答

3

你应该尝试的形式生成器对象主动管理给你的has_many方法。

f.has_many :locations do |location_form| 
    location_form.input :name 
end 
+0

不起作用,即使它确实,位置是一个has_one关系,所以我认为它不适用 – thrice801

4

也许尝试的

f.inputs :name => "Location", :for => :locations do |location_form| 
    location_form.input :address 
end 

,而不是这个

f.inputs :name => "Location", :for => [f.object.location || Location.new] do |location_form| 
    location_form.input :address 
end 
0

您可以通过创建位置对象尝试,

f.semantic_fields_for :locations, Location.new do |ff| 
    ff.input :name 
end