请考虑以下ActiveAdmin页面:
ActiveAdmin.register_page "Import" do
content do
form :action => some_path, :method => :post do |f|
f.input :name => :table, :collection => { "Display" => "id" }
end
end
end
在ActiveAdmin资源中的任何位置使用此代码都可以正常工作,使用FormBuilder创建Formtastic表单。但是,当使用AA的register_page方法并在content
部分放置表单时,它似乎并不像希望的那样工作。我错过了什么或者这可能被忽略了吗?我可能会在部分而不是使用AA的DSL中创建表单,但将它保留在AA资源中会更好。
任何人都知道为什么它不会玩得很好?
答案 0 :(得分:1)
实际上我过去也注意到了这一点。我的问题是,当我进入我自己的自定义页面时,似乎Cancan不再正常工作......无视我设置的管理员能力。
如果您查看日志,您会注意到自定义页面呈现以下内容:
app/views/active_admin/page/index.html.arb
而“普通”资源页面呈现以下内容
app/views/active_admin/resource/index.html.arb
所以我认为任何绑定到ActiveAdmin和ActiveRecord模型的帮助器/方法都不能在自定义页面中工作。似乎只有在/resource/*
就像你说的那样......我通过创建自己的部分来解决这个问题!