我在强参数白名单中指定嵌套参数时遇到问题
将permit!
列入白名单
def sign_up_params
params.require(:user).permit!
end
但指定参数失败
def sign_up_params
params.require(:user).permit(:name, ......, role_ids: [])
end
错误:未经许可的params role_ids:[]
我的模特:
Roles:
has_and_belongs_to_many :users
Users:
has_and_belongs_to_many :roles
join table: roles_users
我添加了一个控制台截图。这是一个habtm错误(显示为链接)
谢谢.. 终于找到了答案 创建
@user = User.new(sign_up_params)
@user.role_ids = params[:user][:role_ids]
答案 0 :(得分:0)
你的模型关系似乎有问题。它需要改为:
users:
has_and_belongs_to_many :roles
roles:
has_and_belongs_to_many :users