4

Active Admin 0.5 でカスタム フォームを作成しています。ページを登録し、DSL を介してフォームを作成しました。

ActiveAdmin.register_page 'Planning', :namespace => :pos_admin do

  content :title => proc{ I18n.t("active_admin.dashboard") } do

    form do |f|
      f.input :type => :text
      f.input :type => :submit
    end

  end
end

問題は、フォームを送信すると、空の Params ハッシュが取得されることです。また、フォーム タグには認証トークンが含まれていません。

私は何を間違っていますか?

4

2 に答える 2

8

古い投稿ですが、この問題に遭遇した人にとっては、答えは追加することです

f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s

フォームに。これにより、認証トークンが ActiveAdmin に戻され、偽造が行われていないことを確認できます。セッションが終了され、ログイン画面に戻りました。これは、ActiveAdmin が、提出物を偽造しようとしていると判断したためです。

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

form do |f|
  f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s
  f.input :type => :text
  f.input :type => :submit
end
于 2013-06-04T06:29:41.227 に答える
0

AAフォームで次の構文を使用します(f.inputs doブロックを使用)また、入力にはオブジェクトのプロパティ名を使用する必要があります

 form do |f|
   f.inputs do
     f.input :property_name,  :type => :text
   end
   f.actions
  end

それが役立つことを願っています!

于 2012-10-24T09:33:12.087 に答える