ruby-on-rails – Rails 4要求和允许多个

很长一段时间的 Java开发人员 – 对ror来说是新手 – 我正在Rails 4中构建一个 JSON REST API,我遇到了使用强参数的问题.当我对我的一个端点执行HTTP POST请求时,我希望我的控制器需要主对象,需要它的一些属性,如果存在某些其他属性,它也会返回它们.看到那些要求和许可方法返回哈希,我想知道什么是允许和要求同一对象的某些属性的最佳实践.我应该合并两个哈希吗?非常感谢您的投入,因为我花了很多时间研究这个问题.

解决方法

据我所知,我认为要走的路是,您只允许控制器中的参数,然后在模型中执行属性验证,而不是直接在参数控制器中执行.

强参数只是为了确保安全,一些恶意的人不会破解你的用户形式并插入像“role = admin”这样的东西.

据我所知,强参数功能并没有设计为实际上需要存在某些参数而不是包含属性哈希的单个键(如名为user或同样的模型键).

您可以在模型中进行验证,如下所示:

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...