我有一个调用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)