我正在 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
问题是提交表单时我得到一个空的参数哈希。并且表单标签不包含真实性 token 。
我究竟做错了什么?
最佳答案
一个旧帖子,但对于任何在这个问题上绊倒的人,答案是添加
f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s
到表格。这会将身份验证 token 传递回 ActiveAdmin,以便它可以确认没有发生伪造。您的 session 被终止,您被带回登录屏幕,因为 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
关于ruby-on-rails - Active Admin 中的自定义表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956727/