Задать вопрос
@anasasiakiri4enko

Почему rails ругается ссылаясь на отсутствующие пути в routes.rb?

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 ругается вот так: fd9095511c4f4ff8b2169b337545f5c9.png
12. Вот сам файл routes.rb 1d4975deaf1d4c8189c189345f3d0324.png

Самое забавное, что если я в файле routes.rb строку devise_for :admins опущу в самый конец, все url`s сразу заработают, но по моему это бред какой-то. Хорошо, опускаю строку devise_for :admins в самый конец. Смотрю список маршрутов, командой rake routes и вижу: b798d86afa5a495e926cb4f6acac360a.png
Ну думаю, ок. Захожу по адресу localhost:3000/admins/sign_in - ошибка маршрута - No route matches [GET] "/admins/sign_in"
В controller items пробую добавить before_action :authenticate_user! и вижу e6563cd071404167af431f61c2549140.png

Что я делаю не так? Пробую разные способы, опираясь на документацию гема https://github.com/plataformatec/devise Почему rails ругается?
  • Вопрос задан
  • 307 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@anasasiakiri4enko Автор вопроса
Заработался, а всё го то нужно было релоаднуть сервер. бывает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
TEYCA Казань
от 150 000 до 240 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 6 000 до 8 000 $