Подтвердить что ты не робот

`add_route ': неверное имя маршрута, уже используемое:' root '(ArgumentError)

Im, используя рельсы 4.1.1 и ruby ​​2.1.1, и у меня проблема с разработкой, а именно с моими маршрутами. Я использовал это много раз перед

devise_for :users

get 'pages/index'

# Route to Devise Login Page
  devise_scope :user do
    root to: "devise/sessions#new"
  end

# Directing the user after login
  authenticated :user do
    root :to => 'pages#index'
  end

Но я получаю ошибку

`add_route': Invalid route name, already in use: 'root'  (ArgumentError)

при попытке запустить сервер. Я вижу, что этот root используется дважды, но, как я уже сказал, я смог сделать это в прошлом. Есть ли способ обойти этот

Спасибо

4b9b3361

Ответ 1

Нашел этот полезный комментарий здесь, в stackoverflow

Для Rails 4.0 вы должны убедиться, что у вас есть уникальные имена для пути помощники, например root: "dashboard # show", as:: authenticated_root. Иначе аутентифицированный корень и нормальный корневой путь в конечном итоге с тем же именем для их помощников по пути, которые Rails 4.0 больше не позволяет

поэтому я заменил свой аутентифицированный корень на помощник таким образом

 # Directing the user after login
 authenticated :user do
   root :to => 'pages#index', as: :authenticated_root
 end