5

私はactiveadminを使用しており、それを使用している多くの人が知っているように、formtasticが組み込まれています。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 に答える