7

ActiveAdmin (0.5.1) を使用して、オブジェクトを作成してデータベースに保存するための複数の異なるフォームを作成したいと考えています。を使用してこれをActiveAdmin.register_page実行しようとしていますが、フォームを作成しようとしているときに問題が発生しています。を使用している間、呼び出しと同じメソッドregister_pageが得られないようです。コードは次のとおりです。formregister

ActiveAdmin.register_page "New Object" do
  content do
    para "Here you can create new objects!"
    para "This content will be replaced with links to the specialized forms"
  end
end

そして、いずれかのフォームのコード:

ActiveAdmin.register_page "Type 1" do
  menu :label => "Type 1", :parent => "New Object"

  content do
    panel "Attributes" do
      form do |f|
        f.input :color
        f.input :size
    end
  end
end

ただし、このフォームは実行可能な方法でレンダリングされません。またf.inputs、例で見ることができる他の多くの方法 (このなど) は機能しません。を使用して完全に機能するフォームを作成することは可能ActiveAdmin#register_pageですか?

4

2 に答える 2

4

非標準のコンテキスト (つまり、リソース レジスタではない) でフォームを作成するにはsemantic_form_for:urlおよび:builderオプションを指定して formtastic を使用する必要があります。

content do
  semantic_form_for MyObject.new, :url => admin_my_objects_url, :builder => ActiveAdmin::FormBuilder do |f|
    f.inputs "My Object" do
      f.input :color
      f.input :size
    end
    f.actions
  end
end

これにより、オブジェクトのフォームを含む「My Object」というラベルの付いたパネルが表示され、その下に送信ボタンがあります。

于 2013-03-26T02:24:25.537 に答える