1

STI を使用して 4 人の子供を設定した製品モデルがあります。

私の active_admin フォームは次のようになります。

form do |f|
    f.inputs do
        f.input :type, collection: Product.select_options
        f.input :title
        etc.
    end
    f.buttons
end

親モデルからの関連コード:

  def self.select_options
    descendants.map{ |c| c.to_s }.sort
  end

初期化子:

if Rails.env.development?
  %w[product ring necklace bracelet earring].each do |c|
    require_dependency File.join("app","models","#{c}.rb")
  end
end

すべて正常に動作し、コンソールにいるときに Product.select_options を実行すると、それらが出力されます。

active_admin がそれらを取得しないのはなぜですか? 内部にチェックマークが付いた空白のドロップダウンが表示されるだけです。

ありがとう

4

1 に答える 1

0

あなたは逃した: :select

交換
f.input :type, collection: Product.select_options
f.input :type, as: :select, collection: Product.select_options
于 2013-06-27T10:52:55.597 に答える