【发布时间】:2017-06-28 02:12:41
【问题描述】:
我有使用 Ajax 发布数据的 JS,在终端中我的参数如下所示:
Started POST "/strongbolt/user_groups" for 10.0.2.2 at 2017-06-27 16:27:23 +0000
Processing by Strongbolt::UserGroupsController#create as JSON
Parameters: {"strongbolt_user_group"=>{"name"=>"Some test group",
"description"=>"Some test description", "user_ids"=>{"0"=>{"id"=>"3"},
"1"=>{"id"=>"2"}, "2"=>{"id"=>"5"}}, "role_ids"=>{"0"=>{"id"=>"1"},
"1"=>{"id"=>"2"}}}}
我的创建操作如下所示:
def create
user_roles #Helper method
@user_group = Strongbolt::UserGroup.create!(user_group_params)
respond_to do |format|
format.js { flash.now[:notice] = "User group #{@user_group.name} created!" }
format.json { render json: {
data: @user_group.as_json(only: [:id, :name, :description], include: {
users: { only: [:id, :name] }, roles: {only: [:id, :name] }}),
}
}
end
end
private
def user_group_params
params.require(:strongbolt_user_group)
.permit(:name, :description, {user_ids: []}, {role_ids: []})
end
在我的终端中,我可以看到它创建了name 和description,但没有插入user_ids 和role_ids。到目前为止,我一直在尝试不同的参数,但没有运气 - 不能让它们被保存。
我收到此错误:Unpermitted parameters: :user_ids, :role_ids
请问如何保存所有参数?谢谢!
【问题讨论】:
-
你试过不用花括号包裹 user_ids 和 role_ids 吗?我没有测试过,但我几乎可以肯定这是原因
-
@Aleksandrus 谢谢,但这不起作用,因为它仍然显示
Unpermitted parameters: :user_ids, :role_ids
标签: ruby-on-rails json