2010-07-01 5 views
1

Следуя руководству в http://github.com/fortuity/rails3-mongoid-devise Мне удалось установить Rails3 с помощью Haml, Devise и Mongoid. (В качестве побочного сведению, руководство действительно подробное, рекомендуется читать для пользователей нового Rails!)Rails 3 отображает файл Haml как Html

Только проблема я не могу получить Rails, чтобы сделать свои взгляды Haml:

Started GET "/" for 127.0.0.1 at 2010-07-01 14:40:23 +0200 
    Processing by HomeController#index as HTML 
    MONGODB miabreto_development['users'].find({}, {}) 
Rendered home/index.html.haml within layouts/application (4.2ms) 
Completed 200 OK in 21ms (Views: 21.0ms) 

Обратите внимание, что не возвращает недостающую ошибку шаблона, она просто отображает представление как простой html. Имя файла соответствует соглашению:

app/views/home/index.html.haml 

и в Gemfile у меня есть:

# Bundle gems needed for Haml 
gem 'haml', '3.0.13' 
gem "rails3-generators", :group => :development 

Поскольку я новичок в Rails, и я не уверен, что путь исполнения выглядит для принятия решения, что визуализатор использовать и т. д. Может ли кто-нибудь предположить, что я, возможно, пропустил в своей установке или где искать ошибки? (Это Rails.3.beta4)

+0

у вас «Запустите haml -rails/path/to/app» после установки haml gem? – bjg

+0

bjg, это не нужно с rails3. pythyless, вы запустили 'bundle install'? – igorw

+0

Ran 'bundle install' и перезапустил сервер несколько раз. – pithyless

ответ

2

Пара вещей

Прежде всего, рельсы будут оказывать index.html.erb, если он присутствует в папке взглядов. Он сделает это до того, как он отобразит index.html.haml. Итак, загляните в свою папку с просмотром, и если у вас есть файл index.html.erb, то просто удалите его, и рельсы должны начать делать haml для вас.

Во-вторых, даже если он отображает версию haml ваш файл, он все равно будет читать «Обработку по HomeController индекса # как HTML»

Надеется, что это помогает, и да, это отличный учебник, сам читал несколько дней назад

PS - два пути, чтобы сказать, если ваш шаблон делаем haml

  1. добавить слова "hello from haml" в файл Haml
  2. взгляд на выходе выходного сервера вы должны увидеть что-то вдоль линий:

    Оказываемые дома/index.html.haml в макеты/приложения (42.9ms)

+0

Спасибо за информативный ответ! 1. Только иметь index.html.haml в каталоге 2. Это полезно знать. (Я обновил код вопроса с большим количеством выходных данных) – pithyless

+0

* от головы до стола * Я выяснил ошибку пользователя. Проблема была в действительности app/views/layouts/application.html.erb, которая противоречила моему коду. Спасибо stephemurdoch за то, что помогли мне разобраться в проблеме :-) – pithyless

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