Я пытаюсь настроить свои маршруты в разработке. Я пытался использовать devise_scope: user, но это не сработало. Поэтому я переключился на devise_for и пропустил пользовательские маршруты (регистрации, подтверждения, пароли, сеанс), и это сработало. Но затем в моих представлениях появляется ошибка, когда я вызываю "session_path", например. Он создавал форму, перенаправляющую на "session.user", что не имеет смысла.
Вот код:
#routes.rb
devise_for :users, :path => '', :skip => [ :passwords, :registrations, :confirmations] do
post "account/password", :to => "devise/passwords#create"
get "account/password/new", :to => "devise/passwords#new", :as => "new_password"
get "account/password/edit", :to => "devise/passwords#edit", :as => "edit_password"
put "account/password", :to => "devise/passwords#update"
post "account", :to => "users/registrations#create"
get "sign_up", :to => "users/registrations#new"
delete "account", :to => "users/registrations#destroy"
post "confirmation", :to => "devise/confirmations#create"
get "confirmation/new", :to => "devise/confirmations#new", :as => "new_confirmation"
get "confirmation", :to => "devise/confirmations#show"
end
Новый вид сеанса:
#users/sessions/new.html.erb
= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
Ошибка:
No route matches {:action=>"new", :format=>:user, :controller=>"devise/passwords"}
Что мне делать? То, что случилось с «devise_scope», не работает правильно (ошибка, которую он отображал, была «Не удалось найти отображение устройства для ...»)?
Спасибо