我有一个问题,当一封电子邮件是一个副本,它应该有自己的自定义弹出通过javascript。我使用@emailexists来完成这个任务,但是如果我不知道如何指定这个问题,那就是它实际上是一个复制,这是使用elsif而不是其他方法的原因。任何帮助都将不胜感激!
def create
@ambassador = Ambassador.new(ambassador_params)
if @ambassador.save
puts "========================"
puts "Successful Save"
puts "========================"
# redirect_to root_url, notice: 'Thank you for signing up!'
elsif @ambassador.errors
@emailexists = @ambassador.errors.full_messages
else
@errors = @ambassador.errors.full_messages
end
end发布于 2014-06-12 19:13:19
在这里,使用相同的电子邮件显式检查现有帐户可能更简单,而不是允许错误并试图从错误中检测特定的错误场景。
def create
@ambassador = Ambassador.find_by_email(ambassador_params[:email].downcase)
if @ambassador
@emailexists = true
else
@ambassador = Ambassador.new(ambassador_params)
if @ambassador.save
puts "========================"
puts "Successful Save"
puts "========================"
# redirect_to root_url, notice: 'Thank you for signing up!'
else
@errors = @ambassador.errors.full_messages
end
end
end请注意,您还需要确保大使模型在保存之前会减少电子邮件地址,以简化后续的存在检查。
class Ambassador < ActiveRecord::Base
attr_accessible :email
# Not all database adapters use case-sensitive indices,
# so this helps ensure uniqueness no matter what.
before_save { email.downcase! }
endhttps://stackoverflow.com/questions/24192025
复制相似问题