【问题标题】:Getting ActiveModel::ForbiddenAttributesError, even though param is permitted.获取 ActiveModel::ForbiddenAttributesError,即使参数是允许的。
【发布时间】:2015-03-19 15:04:57
【问题描述】:

尝试在rails4中提交ActiveModel表单,报错;

ActiveModel::ForbiddenAttributesError

这是通过表单提交数据的活动管理页面:

ActiveAdmin.register Network do
  permit_params :name

这些是通过的参数:

Parameters: {"utf8"=>"✓", "network"=>{"name"=>"Acme, Inc."}, "commit"=>"Save Network"}

name 是唯一通过的参数,并且是允许的参数。那么,为什么会出现这个错误呢?

【问题讨论】:

  • 试着把它写成[:name]
  • 谢谢@jaspreet21anand,但这不起作用。我仍然收到ActiveModel::ForbiddenAttributesError 错误。

标签: ruby-on-rails activeadmin


【解决方案1】:

所以,我找到了导致错误的罪魁祸首。

我有这些台词:

network = Network.new(params[:network])
network.admin ||= User.new(params[:network].andand[:admin])  

但是在将params 更改为permitted_params 之后,如下所示

network = Network.new(permitted_params[:network])
network.admin ||= User.new(permitted_params[:network].andand[:admin])

一切正常。 谢谢大家

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多