Rails 4 要求和允许多个
Rails 4 Require and Permit Multiple
长期 Java 开发人员 - ror 新手 - 我正在 Rails 4 中构建 JSON REST API,我有 运行使用强参数进入问题。当我对我的一个端点执行 HTTP POST 请求时,我希望我的控制器需要主对象,需要它的一些属性,并且,如果存在某些其他属性,它也需要 return那些。看到那些需要和允许方法 return 哈希,我想知道允许和需要同一对象的某些属性的最佳实践是什么。我应该合并这两个哈希值吗?非常感谢您的意见,因为我已经花了很多时间处理这个问题。
据我所知,我认为要走的路是,只允许在控制器中使用参数,然后在模型中执行属性验证,而不是直接在控制器中对参数执行属性验证。
强参数只是为了确保某些恶意的人不会破解您的用户表单并插入类似 "role=admin".
的内容
据我所知,强参数功能的设计目的并不是为了实际要求某些参数存在,而不是包含属性散列的单个键(例如称为用户的模型键等) .
您可以像这样在您的模型中进行验证:
class User < ActiveRecord::Base
validates :email, :first_name, :last_name, presence: true
end
如果你使用类似simple_form的东西,那么错误甚至会自动显示。
这里有人建议在实际许可之前提出多个要求。我个人的看法是非常难看。
Strong parameters require multiple
def user_params
params.require(:user).require(:first_name)
params.require(:user).require(:last_name)
params.require(:user).permit(:first_name, :last_name)
end
长期 Java 开发人员 - ror 新手 - 我正在 Rails 4 中构建 JSON REST API,我有 运行使用强参数进入问题。当我对我的一个端点执行 HTTP POST 请求时,我希望我的控制器需要主对象,需要它的一些属性,并且,如果存在某些其他属性,它也需要 return那些。看到那些需要和允许方法 return 哈希,我想知道允许和需要同一对象的某些属性的最佳实践是什么。我应该合并这两个哈希值吗?非常感谢您的意见,因为我已经花了很多时间处理这个问题。
据我所知,我认为要走的路是,只允许在控制器中使用参数,然后在模型中执行属性验证,而不是直接在控制器中对参数执行属性验证。
强参数只是为了确保某些恶意的人不会破解您的用户表单并插入类似 "role=admin".
的内容据我所知,强参数功能的设计目的并不是为了实际要求某些参数存在,而不是包含属性散列的单个键(例如称为用户的模型键等) .
您可以像这样在您的模型中进行验证:
class User < ActiveRecord::Base
validates :email, :first_name, :last_name, presence: true
end
如果你使用类似simple_form的东西,那么错误甚至会自动显示。
这里有人建议在实际许可之前提出多个要求。我个人的看法是非常难看。
Strong parameters require multiple
def user_params
params.require(:user).require(:first_name)
params.require(:user).require(:last_name)
params.require(:user).permit(:first_name, :last_name)
end