Rails 3 правильно направляет действие уничтожения для сеанса - PullRequest
3 голосов
/ 03 марта 2012

Я перевожу свои access_controller в sessions_controller и, похоже, не могу нормально заставить действовать destroy.

Кажется, что вход в систему работает нормально, но я не могу выйти из сеанса. Вот ссылка для выхода из системы:

<%= link_to("Logout", :controller => "sessions", :action => 'destroy') %>

routes.rb

resources :sessions

sessions_controller.rb

class SessionsController < ApplicationController

  def new
  end

  def create
    ...
  end

  def destroy
    session[:user_id] = nil
    flash[:notice] = "You are now logged out"
    redirect_to root_url
  end
end

Когда я нажимаю «Выйти», меня перенаправляют на «/ session / destroy» с сообщением «Не удалось найти действие« show »для SessionsController». Действия уничтожения, кажется, хотят идентификатор, но мне не нужно передавать идентификатор, я просто хочу запустить действие.

1 Ответ

2 голосов
/ 03 марта 2012

Ах, я нашел ответ здесь: http://railscasts.com/episodes/250-authentication-from-scratch

Мне нужно настроить мои маршруты следующим образом:

get "log_out" => "sessions#destroy", :as => "log_out"
get "log_in" => "sessions#new", :as => "log_in"
resources :sessions
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...