我有一个控制器,我需要合并一列,不存在于数据库中。实际上,我不应该在db中添加列名,也不应该为这个添加迁移。
这是我的创建操作:
User.new(user_params).merge(first_name: "xyz")
这是我的user_params方法:
def user_params
params.permit(:id, :name :email_id)
end
但合并不起作用。有谁能帮我一下吗?提前谢谢。
您可以将first_name
合并到参数中,或者在启动User
后设置它
def user_params
params.permit(:id, :name, :email_id).merge(first_name: 'xyz')
end
或:
user = User.new(user_params)
user.first_name = 'xyz'
编辑:如果User
表没有first_name
列,你不能做你想做的
您可以使用活动存储,并提供关系,如用户has_one:first_name,您可以添加first_name,而不添加到您的用户模型/表
def user_params
params.permit(:id, :name :email_id)
end
你使用merge
user_params。
User.new(user_params.merge(first_name: "xyz"))