我想在出现错误时重定向用户,但救援下面的代码似乎在重定向后被调用。重定向和返回有什么区别?或者发生了什么?
在用户模型中:
def self.find_by_credentials(user_name,password)
user = User.find_by_user_name(user_name)
msg = 'User Not Found'
raise StandardError, msg unless user
msg = 'Invalid Login'
raise StandardError, msg unless user.is_password?(password)
user
end
在会话控制器中:
def create
begin
user = User.find_by_credentials(
params[:user][:user_name],
params[:user][:password]
)
rescue StandardError => e
flash.now[:errors] = e.message
redirect_to new_user_url
end
login_user!(user)
end