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

时间:2015-12-08 16:15:04

标签: ruby-on-rails strong-parameters

我有一个form_for,它调用了create方法。

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])

在更新记录方面,这是相当丑陋甚至功能失调的。我该怎么办才能保持整洁?

1 个答案:

答案 0 :(得分:0)

在致电:access

之前,您的params[:blog][:access]参数确实存在params.require(:blog)

所以使用:

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

或者:

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