所以我熟悉了两个轨道,当然轨道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_param]来保存数据.
你可以做两件事情:
– >在调用post_params函数之前,编辑params [:category]变量:
def create params[:category].downcase @post = Post.new(post_params) @post.save end
– >你可以使用@thiyaram推荐的before_create函数:)