【发布时间】:2011-08-22 19:49:48
【问题描述】:
当我登录我的页面时,我会自动转到路线:http://localhost:3000/sessions/user
我得到这个错误:
Routing Error
No route matches "/sessions/user"
我在 users 文件夹中创建了一个名为 sessions_controller.rb 的控制器:
class Users::SessionsController < Devise::SessionsController
def new
redirect_to root_url, :notice => "You have been logged out."
end
def create
user = User.authenticate(params[:login], params[:encrypted_password])
if user
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in successfully."
else
flash.now[:alert] = "Invalid login or password."
render :action => 'new'
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "You have been logged out."
end
end
我的路线文件:
Densidste::Application.routes.draw do
match 'user/edit' => 'users#edit', :as => :edit_current_user
devise_for :users, :controllers => { :sessions => "users/sessions" } do
get "login", :to => "devise/sessions#new"
get "opret", :to => 'users/users#new'
get "logud", :to => 'users/users#destroy'
end
resources :sessions
resources :users
devise_for :users, :controllers => { :sessions => "users/sessions" }
resources :aktivs
resources :taggingposts
resources :tags
resources :kommentares
resources :posts
end
【问题讨论】:
-
您希望如何定义该路线?
-
我希望我的会话控制器正常工作并重定向到根 url,并显示“成功登录”的通知
标签: ruby-on-rails ruby ruby-on-rails-3 authentication devise