我的应用程序正在构建用途,Activeadmin用于后端界面。
我目前使用它来方便生产,让我的客户在产品等后端添加简单的东西。
我已经设置了使用rails 4和activeadmin rails 4兼容版本。
当我在后端添加新乐队时,我收到此错误:
ActiveModel::ForbiddenAttributesError in Admin::BandsController#create
ActiveModel::ForbiddenAttributesError
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"YnzHk2juyZ6W2kVS5ZVPCimoj7LSHRI1Oen4BHjaqfc=",
"bands"=>{"title"=>"Kings of Leon",
"picture"=>"blank"},
"commit"=>"Create Bands"}
我知道这与在后端创建新项目有关,但我不确定从哪里开始修复此错误。
任何帮助都会很棒,
由于
答案 0 :(得分:10)
只需将以下行添加到您的app / admin / brand.rb
即可permit_params :title, :picture
然后重新启动服务器。
答案 1 :(得分:3)
我刚刚遇到了这个错误,而且我已经找到了解决问题的方法。
解决方案澄清控制器中params的 许可 语法,这是Rails 4中的新功能,非常简单犯错误。
例如,这些代码将接受错误(将permit
应用于参数,然后使用原始参数):
params.require(:seller).permit(:company, :phone)
@seller.update_attributes(params[seller])
要解决此问题,请将其替换为:
@seller.update_attributes(params.require(:seller).permit(:company, :phone))
...或重复使用允许的参数(推荐的解决方案):
new_attributes = params.require(:seller).permit(:company, :phone)
@seller.update_attributes(new_attributes)
希望它可以帮助你。