如何为 Devise 模型的多个属性添加强参数?
How to add strong parameters to multiple attributes of a Devise model?
我创建了一个 Devise 模型,并添加了自定义属性。 This 展示了如何向一个自定义属性添加强参数,但我终究无法弄清楚如何向多个属性添加强参数。
此代码有效:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute
end
但是这些都会引发语法错误:
#1
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute :attribute2
end
#2
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute, :attribute2
end
#3
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << (:attribute, :attribute2)
end
#4
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute; :attribute2
end
添加多个属性的正确语法是什么?
如果您在 linked documentation on strong parameters 中进一步向下滚动,您应该会看到如何允许多个属性:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |su| su.permit(:attribute; :attribute2) }
end
我创建了一个 Devise 模型,并添加了自定义属性。 This 展示了如何向一个自定义属性添加强参数,但我终究无法弄清楚如何向多个属性添加强参数。
此代码有效:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute
end
但是这些都会引发语法错误:
#1
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute :attribute2
end
#2
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute, :attribute2
end
#3
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << (:attribute, :attribute2)
end
#4
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :attribute; :attribute2
end
添加多个属性的正确语法是什么?
如果您在 linked documentation on strong parameters 中进一步向下滚动,您应该会看到如何允许多个属性:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |su| su.permit(:attribute; :attribute2) }
end