def create
user = User.create(user_params)
if user.save
flash[:notice] = '#{params[:user][:role]} created successfully'
redirect_to users_path(role: params[:role])
else
flash[:errors] = "#{user.errors.full_messages.join(', ')}"
redirect_to new_user_path
end
end
这是我在用户控制器中的
create
方法,正在使用 invitation gem
文件发送邀请。如果我使用相同的邮件 ID 创建另一个用户,则现有用户的每个数据都会更新。我怎样才能阻止它更新用户。
您应该在您的
validation
模型中添加唯一的电子邮件 user
。
validates :email, uniqueness: true
另外,重构你的代码,如下所示:
def create
user = User.new(user_params)
if user.save
flash[:notice] = '#{params[:user][:role]} created successfully'
redirect_to users_path(role: params[:role])
else
flash[:errors] = "#{user.errors.full_messages.join(', ')}"
redirect_to new_user_path
end
end