我正在尝试在主动管理员中创建记录。我的activeadmin设置如下:
ActiveAdmin.register MyObject do
permit_params :all_my_params, :client_id
end
表格应该提交参数:
{"utf8"=>"✓", "authenticity_token"=>"WnStZr//M1rBDSwNWSrZs2rvCmcpji/MKaLywxuf9oG0Ef3b1uojy5jszs3yHEYmpvjt+qtJrmi3jz3KKJgUCQ==", "MyObject"=>{"client_id"=>"1", "all_my_params"=>"something here"}, "commit"=>"Create My Object"}
但是,表单在MyObject哈希之外提交了一个额外的client_id,如下所示:
{"utf8"=>"✓", "authenticity_token"=>"WnStZr//M1rBDSwNWSrZs2rvCmcpji/MKaLywxuf9oG0Ef3b1uojy5jszs3yHEYmpvjt+qtJrmi3jz3KKJgUCQ==", "MyObject"=>{"client_id"=>"1", "all_my_params"=>"something here"}, "commit"=>"Create My Object", "client_id"=>"1"}
(注意额外的client_id) 这给了我一个错误:
未经许可的参数:client_id
因为在我的MyObject哈希之外不会出现这种情况。 我怎样才能解决这个问题?我已经被困在这几天了!
My relevant routes: batch_action_admin_client_wedding_cakes POST /admin/clients/:client_id/wedding_cakes/batch_action(.:format) admin/wedding_cakes#batch_action
admin_client_wedding_cakes GET /admin/clients/:client_id/wedding_cakes(.:format) admin/wedding_cakes#index
POST /admin/clients/:client_id/wedding_cakes(.:format) admin/wedding_cakes#create
new_admin_client_wedding_cake GET /admin/clients/:client_id/wedding_cakes/new(.:format) admin/wedding_cakes#new
edit_admin_client_wedding_cake GET /admin/clients/:client_id/wedding_cakes/:id/edit(.:format) admin/wedding_cakes#edit
admin_client_wedding_cake GET /admin/clients/:client_id/wedding_cakes/:id(.:format) admin/wedding_cakes#show
其中wedding_cake =我之前代码中的MyObject。
本质上,自动从url解析的client_id(通常在rails控制器中被接受)在activeadmin中不被接受,我无法允许它被允许,因为我只能允许婚礼内的东西蛋糕在我的参数中哈希。