Rails 3 отображает файл Haml как HTML - PullRequest
1 голос
/ 01 июля 2010

Следуя инструкциям на http://github.com/fortuity/rails3-mongoid-devise Мне удалось настроить Rails3 с Haml, Devise и Mongoid. (Как примечание, руководство действительно подробное; рекомендуется прочитать для новых пользователей Rails!)

Единственная проблема в том, что я не могу заставить 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)

1 Ответ

2 голосов
/ 01 июля 2010

Пара вещей

Прежде всего, rails будет отображать index.html.erb, если он присутствует в папке views.Это будет сделано до того, как будет обработан index.html.haml.Итак, посмотрите в вашей папке views и, если у вас есть файл index.html.erb, просто удалите его, и rails должен начать делать haml для вас

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

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

PS- два способа определить, выполняет ли ваш шаблон haml

  1. , добавить слова "hello from haml" в ваш файл haml
  2. посмотреть на вывод сервера вывода, который вы должны увидетьчто-то вроде:

    Отображение home / index.html.haml в макетах / приложении (42,9 мс)

...