加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:28:59 所属栏目:百科 来源:网络整理
导读:很长一段时间的 Java开发人员 – 对ror来说是新手 – 我正在Rails 4中构建一个 JSON REST API,我遇到了使用强参数的问题.当我对我的一个端点执行HTTP POST请求时,我希望我的控制器需要主对象,需要它的一些属性,如果存在某些其他属性,它也会返回它们.看到那些
很长一段时间的 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读