UrlGenerationError произошел, когда я использовал Devise - PullRequest
0 голосов
/ 15 сентября 2018

Я установил devise для моего приложения на Rails и получил доступ к localhost: 3000 / login.Однако произошла ошибка, как показано ниже.

ActionController::UrlGenerationError in Devise::Sessions#new

Это извлеченный источник.

     </button>
    <ul class="list-group" id="menu-list">
    <li class="list-group-item list-group-item-action"><%= link_to "test1", :controller => "career", :action => "index" %></li>
    <li class="list-group-item list-group-item-action"><%= link_to "test2", :controller => "skill", :action => "index" %></li>
  </ul>
  </div>

И он говорит: «Не найдено ни одного маршрута {: action =>« index »,: controller =>"devise / career"} '

Причина очевидна.'devise /' присоединен к имени контроллера, поэтому rails не может найти URL.

rout.rb это так.

  devise_for :users
  devise_scope :user do
    get 'login', to: 'devise/sessions#new'
  end

Пожалуйста, научите меня, почему слово "devise /"подключен к контроллеру, и как я удаляю «devise /». 1014 *

Извините за мой плохой английский.Спасибо.

1 Ответ

0 голосов
/ 15 сентября 2018

Я думаю, что gem devise предоставляет механизм для аутентификации, поэтому, если вы хотите добавить больше путей (URL), вам придется распознавать URL в файле routes.rb.

Что касается вашего кода, у вас нет контроллера career, поэтому возникнет ошибка.

По моему мнению, вы можете сгенерировать новый контроллер вместо использования devise/career, целью которого является devise - авторизация.

Допустим, для генерации careers в качестве контроллера

rails g controller careers index

тогда код будет сгенерирован следующим образом;

  1. app/controllers/careers_controller.rb
  2. В routes.rb файле будет get 'careers/index'
  3. Будут также сформированы взгляды на карьеру.

Вы можете добавить ниже код к routes.rb

    resources :careers, only: [:index]

Итак ... из вашего кода можно переписать выглядит так:

<li class="list-group-item list-group-item-action"><%= link_to "test1", careers_path %></li>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...