4

我有这个模型:

提供

class Offer < ActiveRecord::Base
    has_many :lists
    has_many :documents
end

列表

class List < ActiveRecord::Base
    belongs_to :user
    belongs_to :offer
    has_many :entries, :dependent => :destroy

    accepts_nested_attributes_for :entries, :allow_destroy => true
end

入口

class Entry < ActiveRecord::Base
    belongs_to :list
    belongs_to :document
end

用户

class User < ActiveRecord::Base
    has_many   :lists, :dependent => :destroy                
end

我正在使用ActiveAdmin,在我进行更改之前,我有这个List表单:

form do |f|
    f.inputs "Détails Utilisateurs" do 
        f.input :user
    end
    f.inputs "Accès" do 
        f.has_many :entries, {:title => '', :link => 'Ajouter un document'} do |c| 
            c.inputs '' do
                if not c.object.id.nil?
                    c.input :_destroy, :as => :boolean, :label => "Supprimer l'accès"
                end
                c.input :document, :include_blank => false, :collection => offer.documents, :member_label => :to_label
            end 
        end 
    end 
    f.buttons 
end

但现在我想使用复选框而不是添加/删除链接按钮,所以我做的更像是这样的:

form do |f|
    f.inputs "Détails Utilisateurs" do 
        f.input :user
    end
    f.inputs "Accès" do 
        f.input :entries, :as => :check_boxes, :collection => offer.documents
    end 
    f.buttons 
end

但是我在复选框中没有正确的名称,我尝试使用 :name params 和 :html_options 但它们没有效果。有什么办法解决这个问题吗?

4

1 回答 1

0

你能试试这个吗?

form do |f|
  f.inputs "Détails Utilisateurs" do 
    f.input :user
  end
  f.inputs "Accès" do
    offer.documents.each do |document|
      f.input document,
        label: document,
        as: :boolean do
          f.check_box document, {}, "true", "false"
        end
    end
  end
  f.buttons 
end

希望能帮助到你!

于 2018-10-16T07:18:05.333 回答