1. Генерирую чистое приложение
2. Генерирую контроллер welcome и метод Index
3. Настраиваю маршрут на основную страницу - root 'welcome#index'
4. При помощи scaffold команды генерирую - rails g scaffold Item title:string info:text price:decimal
5. Запускаю команду rake db:migrate
Всё успешно проходит и работаетПриступаю к установке gem`a devise
6. В Gemfile добавляю - gem 'devise'
7. Прогоняю bundle install
8. Запускаю команду rails generate devise:install (следую предложенной инструкции и выполняю настройку)
8.1 В файл отвечающий за среду разработки development добавляю config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
8.2 Пропускаю данную настройку - root to: "home#index" поскольку у меня уже настроен root_path
8.3 В файл отвечающий за шаблон, добавляю - <%= notice %> <%= alert %>
8.4 Пункт #4 пропускаю, поскольку развёртываю локально и версия rails 4.2.6 Пункт #5 тоже пропускаю (генерацию вьюшек девайса)
9. Создаю файл модели девайса командой rails g devise Admin
10. Прогоняю миграцию - всё ок
11. И тут rails ругается вот так:
12. Вот сам файл routes.rb
Самое забавное, что если я в файле routes.rb строку
devise_for :admins опущу в самый конец, все url`s сразу заработают, но по моему это бред какой-то. Хорошо, опускаю строку
devise_for :admins в самый конец. Смотрю список маршрутов, командой rake routes и вижу:
Ну думаю, ок. Захожу по адресу
localhost:3000/admins/sign_in - ошибка маршрута -
No route matches [GET] "/admins/sign_in"
В controller items пробую добавить before_action :authenticate_user! и вижу
Что я делаю не так? Пробую разные способы, опираясь на документацию гема
https://github.com/plataformatec/devise Почему rails ругается?