我有一个组控制器,它接受哈希数组作为创建操作的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:[] 会有效,但在我的情况下不起作用。
答案 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中的未经授权的参数