在Rails 3,它可以插入像这样的属性到PARAMS:轨道4:插入属性PARAMS
params[:post][:user_id] = current_user.id
我试图做同样的事情在Rails中4,但有没有运气:
post_params[:user_id] = current_user.id
. . . .
private
def post_params
params.require(:post).permit(:user_id)
end
Rails忽略了这种插入。它不会抛出任何错误,它只是悄然失败。
谢谢,我需要使用deep_merge,因为我的属性被嵌套... – stephenmurdoch 2013-09-08 19:42:54
@marflar你在params构造函数中使用了'deep_merge'?或者你的控制器的其他地方 – 2014-06-18 00:01:43
这也是我的做法,但我一直在想,必须有一种方法来干这一点。我所有的50多名控制者在严格的参数区域都有类似的.merge声明。在我的情况下,我将current_user合并到updated_by中。我只在create方法中将current_user合并到created_by中。 – Dan 2014-07-31 16:17:24