gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:44:34 27 4
gpt4 key购买 nike

所以我熟悉了 rails 和 rails 4。

所以这就是我在 Controller 底部的东西

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

这工作正常,但我想要做的是如何在 post_params 方法中或稍后在 Controller 中单独访问这些参数。

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

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

我试过了
params.require(:post).permit(:title, :content, :category)
params[:category].downcase


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

但我得到 undefined method 'downcase'

最佳答案

strong_params 函数只是为您的 Controller 提供一个要使用的变量“白名单”。这确实是出于安全目的,字面意思是您的应用程序可以访问 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-on-rails - 如何更改强参数(更改为小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com