Rails 3.1 Придумайте внезапное перенаправление на неверный путь - PullRequest
1 голос
/ 15 февраля 2012

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

No route matches [POST] "/sessions/user"

Вот мои маршруты.рб:

 Wal::Application.routes.draw do

 resources :sessions,   :only => [:new, :create, :destroy]



 devise_for :users, :skip => [:sessions]

devise_for :users  do get '/users/sign_out' => 'devise/sessions#destroy' end 

resources :posts do
resources :comments
end
resources :users, :only => [:show]
resources :microsposts, :only => [:create, :destroy]
match '/' => "home#index", :as => :home

match 'home/index', :to => 'home#index'

get "users/show"

root :to => "home#index"
#get "home/index"

 resources :users do
    member do
     get :following, :followers
   end
end

resources :microsposts, :only => [:create, :destroy]
resources :relationships, :only => [:create, :destroy]

контроллер приложения:

  class ApplicationController < ActionController::Base
   protect_from_forgery

  def after_sign_in_path_for(resource)
    current_user # <- Path you want to redirect the user to after signup
    end
  def after_sign_up_path_for(resource)
   current_user
   end

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Попробуйте что-то вроде этого

class ApplicationController < ActionController::Base
  def after_sign_in_path_for(resource)
    stored_location_for(resource) || welcome_path
  end
end

https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in-out

0 голосов
/ 15 февраля 2012

Не знаю, решит ли это вашу проблему, но первая строка:

Wal :: Application.routes.draw do

не имеет соответствующего конца в коде, который вы опубликовали.

...