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'
是否可以在render之后保留/ login url:action => “新”??? 感谢。
答案 0 :(得分:1)
redirect_to '/login'
不保留render 'new'
之类的帖子信息。
我对这个解决方案并不完全满意,但这就是我所做的:
resource :session, :only => [:create, :new, :destroy],
:path_names => { :new => 'login' }
它为您提供以下路线:
答案 1 :(得分:0)
简单的解决方案是将render :action => 'new'
更改为redirect_to '/login'
。我并不是非常喜欢这个,但它应该为你解决问题。