允许has_many multiselect与rails 4&主动管理员

时间:2014-05-13 08:38:23

标签: ruby-on-rails-4 activeadmin

将activeadmin与rails 4一起使用时,必须将permit_params设置为允许保存字段。

简单字段正在运行,但是静默忽略has_many字段的多选字段。如何为该字段设置permit_params?

所以家里有很多提供商,我的管理员看起来像这样:

ActiveAdmin.register Home do
  permit_params :title, :intro, :providers, :providers_attributes => [:id]
  menu :parent => "Content" , :label => "Home Page"
   form do |f|
    f.semantic_errors *f.object.errors.keys
    f.inputs do
      f.input :title
      f.input :intro
      f.input :providers
    end
    f.actions
  end

  index do
    column :link
    actions
  end
end

1 个答案:

答案 0 :(得分:0)

我不知道他们是否用Rails 4改变了它...但我总是这样做

form do |f|
    f.semantic_errors *f.object.errors.keys
    f.inputs do
        f.input :title
        f.input :intro
    end
    f.has_many :providers do |pf|
        pf.input :title #or whatever attributes you have there
        pf.input :_destroy, :as => :boolean, :label => "Delete" if !pf.object.nil?
    end
    f.actions
end

在你的model.rb中你应该有类似于

的东西
attr_accessible :providers_attributes

has_many :providers
accepts_nested_attributes_for :providers, :allow_destroy => true

如果有帮助,请告诉我!