Active Admin中的自定义表单

我在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哈希。 表单标记不包含真实性标记。

我究竟做错了什么?

一个旧post,但对于任何绊倒这个问题的人来说,答案是补充一下

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

到forms。 这会将身份validation令牌传递回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 

我使用AA表单的下一个语法(f.inputs do block)你还必须使用object的属性名作为输入

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

希望它会有所帮助!