2015-12-08 27 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)