2012-06-06 82 views
5

我使用的是activeadmin,它有formtastic內置的許多人誰使用它知道。我有一個名爲Project的模型,它具有與ProjectResources的多對多關聯。Formtastic/ActiveAdmin多選多對多複選框關聯問題

我在活動管理項目中的自定義「編輯」和「創建」窗體看起來像這樣。

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目前使用的是什麼版本。我的猜測是最新版本。

回答

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 

-Subscription類

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

PS我使用ActiveAdmin 0.4.2和2.0.2 Formtastic。