将自定义参数绑定到强参数



我有一个调用create方法的form_for。

create方法相当典型,它调用一个包含强参数的相邻方法:

Params.require(:blog).permit(:title, :body, :user_id, :access)

我用以下内容创建记录:

Blog.create(blog_params)

尽管在我这样做之前,我运行了一个确定:access值的助手方法——我将助手方法直接分配给params[:access],如图所示:

params[:access] = myHelper(val1, val2)

但这不起作用,它只是作为nil值。目前,我不得不做以下事情:

Blog.create(blog_params).update(access: params[:access])

当涉及到更新记录时,这是相当丑陋甚至不正常的。我能做些什么来保持它的整洁?

在调用params.require(:blog) 之前,您的:access参数实际上位于params[:blog][:access]

所以使用:

params[:blog][:access] = myHelper(val1, val2)

或者:

bparams = blog_params
bparams[:access] = blog_params
Blog.create(bparams)

相关内容

  • 没有找到相关文章

最新更新