Rails devis help ошибка маршрутизации Не найдено ни одного маршрута "/ session / user" - PullRequest
4 голосов
/ 11 мая 2011

Когда я захожу на свою страницу, я автоматически перехожу на маршрут: http://localhost:3000/sessions/user

И получаю эту ошибку:

Routing Error

No route matches "/sessions/user"

Я создал контроллер с именем session_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

Ответы [ 3 ]

7 голосов
/ 20 ноября 2012

(Старый вопрос, но я столкнулся с той же проблемой при установке Devise, поэтому надеюсь, что это поможет другим)

Удаление resources :sessions из файла маршрутов должно решить проблему.

2 голосов
/ 28 января 2012

Для тех, кто испытывает эту проблему с Devise 2.0 и Rails 3.2.1 и проверил все наблюдения, сделанные @Micah Alcorn, но все еще сталкивается с проблемой - перезагрузите ваш веб-сервер .Работал на меня.

0 голосов
/ 12 мая 2011

Вы не определили root_url. Он по-прежнему указывает на статический public / index.html. (отредактировано Райаном Биггом)

devise_for :users указано дважды.

resources :users не требуется, если у вас нет контроллера RESTful, обрабатывающего действия уничтожения и индексации вне устройства.

Есть ли у вас контроллер пользователя для этого первого действия редактирования? Это, вероятно, должно быть в обычай Users::RegistrationsController < Devise::RegistrationsController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...