我有一个简单的
@redemption = Redemption.new(params[:redemption])
我需要传递:user_id => current_user.id进入这个新的Redem
我试过了:
@redemption = Redemption.new(params[:redemption], :user_id => current_user.id)
这不会使用user_id构建Redemption ...
答案 0 :(得分:1)
params
是一个哈希,所以如果你想要create
中的其他属性,只需将它们添加到params
,例如:
params[:redemption][:user_id] = current_user.id
@redemption = Redemption.new params[:redemption]
或者,如果您想一次添加多个属性,请使用Hash#merge
,例如:
redemption_params = params[:redemption].merge :user_id => current_user.id,
:some_attr => :foo
@redemption = Redemption.new redemption_params
但在这种特殊情况下,您可以使用更短的语法,例如:
current_user.redemptions.create params[:redemption]