ruby-on-rails – 如何更改强参数(更改为小写)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何更改强参数(更改为小写)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我熟悉了两个轨道,当然轨道4.

所以这是我在控制器底部

def post_params
  params.require(:post).permit(:title,:content,:category)
end

哪个工作正常,但我想做的是解决如何在post_params方法或更高版本的控制器中单独访问这些参数.

具体来说,我想在使用参数创建帖子之前,将:category值更改为小写(使表中的所有类别都以小写形式).

编辑:或许更好的措辞我的问题是,在允许参数后,我如何访问和操纵它们之后…可以像往常一样使用params [:title]

我努力了

params.require(:post).permit(:title,:category)
params[:category].downcase

params.require(:post).permit(:title,:content)
params.require(:post).permit(:category).downcase

但是我得到了未定义的方法’下拉式’

解决方法

strong_params功能只是让您的控制器使用“白名单”变量.这真的是出于安全目的,而且从字面意义上说,您的应用程序可以访问params [:permitted_pa​​ram]来保存数据.

你可以做两件事情:

– >在调用post_params函数之前,编辑params [:category]变量:

def create
    params[:category].downcase
    @post = Post.new(post_params)
    @post.save
end

– >你可以使用@thiyaram推荐的before_create函数:)

猜你在找的Ruby相关文章