登录尝试失败时使用 /session 而不是 /login
sessions_controller.rb
def create
if user = User.authenticate(params[:login], params[:password])
session[:user_id] = user.id
redirect_to posts_path
else
render :action => 'new'
end
end
routes.rb
get "sessions/create"
get "sessions/destroy"
get "sessions/new"
resources :posts
resource :session
resources :users
match '/login', :to => 'sessions#new', :as => 'login'
match '/logout', :to => 'sessions#destroy', :as => 'logout'
是否可以在渲染后保留 /login url :action => “新的” ??? 谢谢。
sessions_controller.rb
def create
if user = User.authenticate(params[:login], params[:password])
session[:user_id] = user.id
redirect_to posts_path
else
render :action => 'new'
end
end
routes.rb
get "sessions/create"
get "sessions/destroy"
get "sessions/new"
resources :posts
resource :session
resources :users
match '/login', :to => 'sessions#new', :as => 'login'
match '/logout', :to => 'sessions#destroy', :as => 'logout'
Is it possible to keep the /login url after the render :action => "new" ???
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
redirect_to '/login'
不会像render 'new'
那样保留帖子信息。我对这个解决方案并不完全满意,但这就是我所做的:
这为您提供了以下路线:
redirect_to '/login'
does not keep the post information likerender 'new'
does.I'm not completely happy with this solution, but this is what I have done:
Which gives you the following routes:
简单的解决方案是简单地更改 render :action => 'new' 到
redirect_to '/login'
。我不太喜欢这个,但它应该可以解决你的问题。The easy solution would be to simply change
render :action => 'new'
toredirect_to '/login'
. I'm not amazingly fond of this, but it should solve the problem for you.