2017-02-04 3 views
1

Невозможно понять это вообще, хотя кажется, что все должно быть так просто.Указание корневого пути на файл html.erb

У меня есть 2 контроллера, приложение и страницы; В приложении у меня есть индекс метода, но без каких-либо действий.

В routes.rb Я говорю: root 'application#index' Я понимаю, что это говорит о маршруте GET, что если корневой путь вызывается, перейдите к приложению контроллера и выполните действие «index». Как мне затем сообщить Индексу открыть файл index.html.erb

Любая помощь будет очень признательна. Thx

routes.rb

Rails.application.routes.draw do 
get 'pages/home' 
get 'pages/about' 
get 'pages/app' 
root 'application#index' 

end 

application_controller.rb

class ApplicationController < ActionController::Base 
protect_from_forgery with: :exception 

    def index 

    end 
end 
+0

'ApplicationController' является базовым контроллером всех других контроллеров, он никогда не содержит никакого действия' index'. Вместо этого создайте что-то 'WelcomeController' или' HomeController' для вашего основного маршрута. – Iceman

+0

Вы знаете, как вы печатали, я понял это, спасибо, что ответил. Я добавил index.htm.erb к контроллеру страниц, и все это hunky dory ... Я doofus –

ответ

1

Я думал, что я должен ответить на этот вопрос сам в случае, если кто-нибудь натыкается на него. Как отметил Айсман, действие не может быть выполнено в контроллере приложения. Мое беспокойство заключалось в том, что, помещая его в контроллер страниц, он будет подвержен пути страниц. Не так. Правильный (или, по крайней мере, рабочая версия) макет ниже:

routes.rb

Rails.application.routes.draw do 
get 'pages/home' 
get 'pages/about' 
get 'pages/app' 
root 'pages#index' 
end 

нет необходимости вносить поправки в «pages_controller» только добавить index.html.erb файл на страницах " Просмотр ".

Надежды, которые помогают кому-то.

Смежные вопросы