5

我正在使用activeadmin,它内置了许多使用它的人都知道的formtastic。我有一个名为 Project 的模型,它与 ProjectResources 具有多对多关联。

我在 Project 的活动管理员中的自定义“编辑”和“创建”表单看起来像这样。

form do |f|
          f.inputs "Project" do
            f.input :name, :input_html => { :readonly => true }
          end
          f.inputs "Resources" do
            f.input :id, :label => "Selected Resources",  
                :as => :check_boxes, 
                :multiple => true, 
                :collection => ProjectResource.all,
                :selected => @resources
          end
          f.buttons
    end

我的复选框呈现得很好,此时我没有收到任何错误。如果您可能已经猜到,问题是在呈现“编辑”页面时,如果项目已经有一个 ProjectResource 作为关联,我想将复选框区域中的项目显示为“已选择”。

现在复选框都显示取消选中状态。我正在使用最新版本的 activeadmin 并且 formtastic 安装了以下版本。(2.2.0、2.1.1、2.1.0、2.0.2、1.2.4)

不确定此时 activeadmin 使用什么版本。我的猜测是最新版本。

4

1 回答 1

9

对我来说,很简单:

ActiveAdmin.register Subscription do

  form do |f|
    f.inputs do
      f.input :users, as: :check_boxes
      # other fields...
    end
    f.buttons
  end
end

只是工作。

更多代码:

-用户类

class User < ActiveRecord::Base
  has_and_belongs_to_many :users
  attr_accessible :fields...
end

-订阅类

class Subscription < ActiveRecord::Base
  has_and_belongs_to_many :subscriptions
  attr_accessible :fields...
end

PS 我正在使用 ActiveAdmin 0.4.2 和 Formtastic 2.0.2。

于 2012-07-09T12:48:24.470 回答