假设使用带有 strong_parameters 的 Rails4 的用户模型。
class User < ActiveRecord::Base
has_secure_password
accepts_nested_attributes_for :identity
// rest of code omitted for brevity
end
如果我参考指南,我应该能够做到
def user_params
params.require(:user).permit(:email, identity_attributes: [])
end
允许对每个 identity_attributes 进行 mass_assignment,无论其名称或编号如何。但这运行在“未经许可的参数:identity_attributes”中
但是,如果我指定 identity_attributes 它可以工作
def user_params
params.require(:user).permit(:email, identity_attributes: [:last_name, :first_name])
end
我在 Identity 中有很多属性,我可以通过 User 对它们进行 mass_assign 而不指定所有属性。
我错过了什么吗?这是一个错误吗?
干杯