Моя страница index.html
для моего проекта нуждается в некотором рубиновом коде, поэтому мне нужно изменить его на расширение .erb
. Как настроить Rails для идентификации файла index.html.erb
в качестве начальной страницы проекта вместо файла index.html
?Как получить проект Rails для начала с index.html.erb вместо index.html?
3
A
ответ
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
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
Спасибо. Это потребует, чтобы страница index.html.erb существовала в папке представлений, связанной с конкретным контроллером, - мне нужно вывести ее из общей папки, где находится текущий текущий файл index.html? – parlia
Yup. Я должен был упомянуть, что вы должны удалить файл index.html по умолчанию из своей общей папки до того, как изменение, указанное выше, вступит в силу :) –