背景: 我有一个名为Opportunity的模型,其中包含" created_by"和" team_name"属性,对应于具有" full_name"的用户模型。和#34;团队"属性。因此,当用户登录并创建新的商机记录时,系统created_by = User.full_name。
问题(我的机会控制器除外):
def create
@opportunity = Opportunity.new(opportunity_params)
@opportunity = Opportunity.new(opportunity_params.merge(:created_by => current_user.full_name))
@opportunity = Opportunity.new(opportunity_params.merge(:team => current_user.team))
end
我使用opportunity_params.merge方法两次。发生这种情况时,只有最后一次opportunity_params.merge行有效。现在,我使用opportunity_params.merge来记录current_user.team,以便current_user.full_name不记录。有人可以帮忙吗?
答案 0 :(得分:1)
在使用params之前合并您的更改:
merged_opportunity_params = opportunity_params.merge(
created_by: current_user.full_name,
team: current_user.team
)
@opportunity = Opportunity.new(merged_opportunity_params)