Я получаю следующее сообщение об ошибке при попытке перейти к http://app.mysite.dev/login -Rails и Разрабатывают Mapping Путь
Could not find devise mapping for path "/login".
This may happen for two reasons:
1) You forgot to wrap your route inside the scope block. For example:
devise_scope :user do
get "/some/route" => "some_devise_controller"
end
2) You are testing a Devise controller bypassing the router.
If so, you can explicitly tell Devise which mapping to use:
@request.env["devise.mapping"] = Devise.mappings[:user]
Теперь, вот соответствующие биты моего routes.rb файла:
namespace 'app', path: '', constraints: { subdomain: 'app' } do
devise_for :users, :skip => [:registrations, :confirmations]
devise_for :agents, :skip => :sessions
devise_scope :users do
get "login" => "users/sessions#new"
end
...
end
И маршрут генерируется get "login"
линии следующим образом (от rake routes
)
app_login GET /login(.:format) app/users/sessions#new {:subdomain=>"app"}
Я не знаю, имеет ли это значение, но я использую отношения STI для пользователей> Агенты.
Итак, я уже определяю рамки для разработки, и я не тестирую, поэтому любые идеи о том, что происходит?
Можете ли вы показать нам свое '' приложение :: SessionController''? – dgilperez
У меня его нет - я предполагаю, что это происходит из Devise .. – Advocation