【问题标题】:rails strong parameter not accepting array of hashesrails strong参数不接受哈希数组
【发布时间】:2014-09-26 11:46:06
【问题描述】:

我有一个组控制器,它接受哈希数组作为创建操作的 POST 请求的参数

  def create
    response = Group.create(current_user_id, group_params)
    render json: response
  end

  def group_params
    params.require(:group).permit(:group_name, :group_title, group_members: [])
  end

但它不接受通过强参数的 group_members 参数

这是我的应用程序中带有参数的传入请求的样子

Started POST "/groups" for 127.0.0.1 at 2014-08-04 08:25:37 +0545
Processing by GroupsController#create as JSON
  Parameters: {"group"=>{"group_name"=>"Fourth group", "group_title"=>"fourth tester", "group_members"=>[{"id"=>"0833be3c-17db-11e4-904b-3f662703cb5b", "darknet_accountname"=>"@ckgagan", "access_level"=>"Write"}]}}
Unpermitted parameters: group_members
Completed 200 OK in 10ms (Views: 0.2ms)

我看到很多帖子说在 permit 中添加 group_members : [] 会起作用,但在我的情况下不起作用。

【问题讨论】:

    标签: arrays parameters strong-parameters


    【解决方案1】:

    通过在permit args 中添加group_members 字段解决了这个问题。

    def group_params
       params.require(:group).permit(:group_name, :group_title, group_members: [:id, :darknet_accountname, :access_level])
    end
    

    在此之后,没有关于 group_members 中未经允许的参数的投诉。

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      相关资源
      最近更新 更多