ActiveAdmin的多嵌套属性

时间:2015-03-03 16:03:30

标签: ruby-on-rails activeadmin nested-forms nested-attributes

嘿所以我有三个模特:

  1. 数据集
  2. BrowseOption
  3. BrowseOptionData
  4. 与Ryan的railscast(http://railscasts.com/episodes/196-nested-model-form-revised?view=comments)类似,我想要一个双嵌套表单,除了ActiveAdmin。

    以下是我的Active Admin表单:

    form do |f|
      f.inputs "Data Set Info" do
        f.input :name
        f.input :display_name
        f.input :description
        f.input :cover_photo, :label => "Cover Image (Recommend a pattern: 980x300)"
      end
      f.inputs "Browse Options" do
        f.has_many :browse_options, new_record: 'Add Option' do |t|
          t.input :option_name
          t.has_many :browse_option_data, new_record: 'Add record' do |b|
            b.input :tradesman_id, :as => :select, :collection => Tradesman.all.collect {|set| [set.name, set.id] }
            b.input :data
            b.input :featured
          end
        end
      end
      f.actions
    end
    

    我正在

    uninitialized constant BrowseOption::BrowseOptionDatum
    

    错误

    enter image description here

    所以第一个' has_many'工作得很好(我已经测试过了),但是第二个&has -many' for browse_option_data给出了这个错误。以下是每个模型:

    数据集模型:

    class DataSet < ActiveRecord::Base
      has_many :browse_options
      accepts_nested_attributes_for :browse_options, allow_destroy: true 
    end
    

    BrowseOption模型:

    class BrowseOption < ActiveRecord::Base
      belongs_to :data_set
    
      has_many :browse_option_data
      accepts_nested_attributes_for :browse_option_data, allow_destroy: true 
    end
    

    BrowseOptionData模型:

    class BrowseOptionData < ActiveRecord::Base
      belongs_to :browse_options
    end
    

    任何想法?我无法发现任何错别字。如果您还需要更多信息,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:0)

原来我错误地定义了“:browse_option_data”,我应该一直在调用“:browse_option_datas”,并在模型中以has_many的方式定义它。