2012-02-08 3 views
6

Я только начал использовать Rails и не уверен, что я делаю неправильно.Ошибка «Шаблон отсутствует», хотя он существует (3.2.1)

В routes.rb У меня есть

resources :pages 

В приложение/контроллеры/pages_controller.rb У меня есть

class PagesController < ApplicationController 
    def index 
    end 
end 

У меня есть макет в приложение/просмотров/макеты/application.html.erb и шаблон в app/views/home/pages/index.html.erb, который я хочу отобразить при запросе «/ pages». Тем не менее, я получаю ошибку

Шаблон недостающую

Отсутствие шаблонов страниц/индекс, приложение/индекс с {: локаль => [: EN] : форматы => [: HTML]: handlers => [: erb,: builder,: coffee]}. Искал в: * «/ ###/приложение/просмотров»

Я использую StackOverflow в течение веков, не отправляя, но так много разных вещей, кажется, чтобы вызвать эту ошибку, что трудно найти ответы на мои частный случай. Также я noob: 3 Пожалуйста, помогите!

+0

Если ваш текстовый редактор находится в середине записи в файл во время обновления, файл недоступен, и это приведет к ошибке. Бывает. – JackHasaKeyboard

ответ

9

Вы говорите, что у вас есть app/views/home/pages/index.html.erb, чтобы представить индексный вид ресурса ваших страниц. Я думаю, что каталог home/ не требуется.

Другими словами, ваш файл вида должен быть app/views/pages/index.html.erb.

+1

Спасибо! Похоже, что это была ошибка отсутствия сна: я бы поднял тебя, если смогу. – hidenori

4

Он ищет его в app/views/pages/index, но у вас его есть в app/views/home/pages/index. Эта небольшая разница делает это так, что соглашение Rails потеряно.

Если вы должны держать свою новую иерархию каталогов, сделать это на контроллере:

class PagesController < ApplicationController 
    def index 
    render :partial => "home/pages/index" 
    end 
end 

Но, по умолчанию, если у вас есть ресурс, как :pages, он будет автоматически искать в app/views/pages.

+0

Спасибо за дополнительную информацию! Мне лично это не нужно, но кто-то другой. – hidenori

0

У меня была эта проблема, и я разрешил ее, просто изменив имя папки с автомобиля на автомобили. Мне пришлось изменить имя папки из единственного числа в множественное число.

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