我正在使用ruby on rails 3.1构建应用程序。 我在网址“/ login”上正确显示了一个登录表单。发生错误时,我希望它转到“登录/错误”而不是“/ user_sessions”。
有关我使用authlogic
的信息使用的模型称为“user_session”。
route.rb中的:
resources :user_sessions, :only => [:create, :destroy]
match 'login' => 'user_sessions#new'
root :to => redirect("/login")
user_sessions_controller.rb中的:
def new
@user_session = UserSession.new
respond_to do |format|
format.html # new.html.erb
end
end
def create
@user_session = UserSession.new(params[:user_session])
respond_to do |format|
if @user_session.save
user = User.first(:conditions => {:email=> @user_session.email})
format.html { redirect_to :controller => 'teams', :action => 'show', :id => user.team_id }
else
format.html { render :action => "new" }
end
end
end
我尝试了不同的事情但没有成功。
感谢您的帮助。
答案 0 :(得分:0)
简单的解决方案:
match 'login' => 'user_sessions#new', as: :login_page
redirect_to login_page_path
如果保存失败。