2015-12-08 26 views
0

我有一个form_for调用create方法。自定义参数绑定到强参数

的创建方法是相当典型,它调用里面有强PARAMS邻近的方法:

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)

回答

0

:access PARAM实际上住在params[:blog][:access]所以使用:

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

或者:

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