2009-07-03 2 views
3

Моя страница index.html для моего проекта нуждается в некотором рубиновом коде, поэтому мне нужно изменить его на расширение .erb. Как настроить Rails для идентификации файла index.html.erb в качестве начальной страницы проекта вместо файла index.html?Как получить проект Rails для начала с index.html.erb вместо index.html?

ответ

6

Вам необходимо настроить путь map.root в файле config/routes.rb.

map.root :controller => "blogs" 

# This would recognize http://www.example.com/ as 
params = { :controller => 'blogs', :action => 'index' } 

# and provide these named routes 
root_url # => 'http://www.example.com/' 
root_path # => '' 

http://api.rubyonrails.org/classes/ActionController/Routing.html

+0

Спасибо. Это потребует, чтобы страница index.html.erb существовала в папке представлений, связанной с конкретным контроллером, - мне нужно вывести ее из общей папки, где находится текущий текущий файл index.html? – parlia

+1

Yup. Я должен был упомянуть, что вы должны удалить файл index.html по умолчанию из своей общей папки до того, как изменение, указанное выше, вступит в силу :) –

2

общественность/index.html представляет собой плоский файл, и не проходит через какие-либо шаблонов (все в/открытом /, как это.)

Если вы хотите шаблонирование на вашей индексной странице, вам нужно запустить запрос через контроллер и представление. Можно сопоставить корневой URL вашего приложения в контроллер с map.root:

map.root :controller => 'home' 
0

ответы здесь уже устарели. Предполагая, что файл index.html.erb находится под контроллером и имеет вид пациентов. В рельсах 3 вы могли бы сделать это следующим образом:

match "/" => "patients#index" 
1

Или вы могли бы сделать корень:

конфигурации/routes.rb

root to: 'index.html.erb' 

Обязательно удалите файл index.html