2012-10-18 96 views
4

我在Active Admin 0.5中創建自定義窗體。我已經註冊了一個頁面,並通過DSL創建的窗體:Active Admin中的自定義窗體

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哈希值。而表單標籤不包含真實性標記。

我在做什麼錯?

回答

1

我下次使用的語法與AA的形式(與f.inputs做塊) 你也需要使用對象的屬性名稱的輸入

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

希望這將有助於!

6

舊的文章,但對於任何人在磕磕絆絆這個問題,答案是

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