Разработать вопрос маршрута - PullRequest
1 голос
/ 08 февраля 2011

Я использую devise для аутентификации в моем проекте. Я создал базовый контроллер под названием панель с рельсами. Когда я нахожусь дома, ссылка работает как надо. Но по какой-то причине link_to в моем файле макета пытается найти маршрут, который не существует, когда я захожу в / users / sign_in, вход в систему по умолчанию для devise.

В моем файле макета есть ссылка, которая всегда должна быть показана.

   <%= link_to "Panel", :controller => "panel", :action => "index" %>

когда я пытаюсь получить доступ к пути входа пользователя по умолчанию в devise / users / sign_in, выдается ошибка: ActionController :: RoutingError в Devise / session # new

Маршрут не соответствует {: controller => "devise / panel"} из файла макета.

маршруты:

  get "panel/index"

  get "home/index"

  devise_for :users

Похоже, что маршруты переходят в какую-то область применения, когда я нажимаю на ссылку для пути users / sign_in.

Ответы [ 3 ]

0 голосов
/ 08 февраля 2011
 get "panel/index", :as => :panel_index


 <%= link_to "Panel", panel_index_path %> |
0 голосов
/ 10 января 2012

Выполнение следующих действий также решает проблему,

    <%= link_to "Panel", :controller => "/panel", :action => "index" %>

Источник: https://github.com/plataformatec/devise/issues/471

0 голосов
/ 08 февраля 2011

Попробуйте:

routes.rb:

get "panel/index" => 'panel#index', :as => 'panel'

В вашем контроллере:

<%= link_to "Panel", panel_path %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...