rails strong参数不接受哈希数组

时间:2014-08-04 03:13:49

标签: arrays parameters strong-parameters

我有一个组控制器,它接受哈希数组作为创建操作的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参数

以下是我的应用程序中带有params的传入请求

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)

我看过很多帖子,说在许可证中添加 group_members:[] 会有效,但在我的情况下不起作用。

1 个答案:

答案 0 :(得分:18)

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

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

所以在此之后没有抱怨group_members中的未经授权的参数