Я следую Ruby on Rails Tutorial 2nd Edition Майкла Хартла и имею достигли раздела входа/выхода из книги.
Пока я могу создать нового пользователя (или, в моем случае, домовладельца) и войти в систему с новыми учетными данными. У меня проблема при выходе. Я нажимаю «выйти» и получаю сообщение об ошибке маршрута:
Маршрут не соответствует [GET] "/signout"
Ниже приведены фрагменты кода. Любая помощь будет очень признательна!
вывод рейк-маршрутов
landlords GET /landlords(.:format) landlords#index
POST /landlords(.:format) landlords#create
new_landlord GET /landlords/new(.:format) landlords#new
edit_landlord GET /landlords/:id/edit(.:format) landlords#edit
landlord GET /landlords/:id(.:format) landlords#show
PUT /landlords/:id(.:format) landlords#update
DELETE /landlords/:id(.:format) landlords#destroy
properties GET /properties(.:format) properties#index
POST /properties(.:format) properties#create
new_property GET /properties/new(.:format) properties#new
edit_property GET /properties/:id/edit(.:format) properties#edit
property GET /properties/:id(.:format) properties#show
PUT /properties/:id(.:format) properties#update
DELETE /properties/:id(.:format) properties#destroy
sessions POST /sessions(.:format) sessions#create
new_session GET /sessions/new(.:format) sessions#new
session DELETE /sessions/:id(.:format) sessions#destroy
root / content_pages#home
content_pages_home GET /content_pages/home(.:format) content_pages#home
help /help(.:format) content_pages#help
questions /questions(.:format) content_pages#questions
signup /signup(.:format) landlords#new
signin /signin(.:format) sessions#new
signout DELETE /signout(.:format) sessions#destroy
файл route.rb
resources :landlords
resources :properties
resources :sessions, only: [:new, :create, :destroy]
root :to => 'content_pages#home'
get "content_pages/home"
match '/help', to: 'content_pages#help'
match '/questions', to: 'content_pages#questions'
match '/signup', to: 'landlords#new'
match '/signin', to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete
ссылка на выход
<%= link_to "Signout", signout_path, method: "delete" %>
контроллер сессий
def destroy
sign_out
redirect_to root_path
end
sign_out
в помощнике сеансов? Посмотрите листинг 8.30 в книге/на веб-сайте. Его ищет методdestroy
контроллера. - person Bert   schedule 21.10.2012