2010-09-25 5 views
21

Я попытался отобразить некоторые файлы с помощью HAML в Rails 3 без успеха.Ошибка HAML на Rails 3 Ошибка «Template missing»

Мои тестовые файлы имеют расширение .html.haml.

В моем Gemfile у меня есть строка gem 'haml' и запустили bundle install.

Когда я запускаю мое приложение, я получаю следующее сообщение об ошибке:

Template is missing

Missing template posts/index with {:locale=>[:en, :en], :formats=>[:html], :handlers=>[:rjs, :rhtml, :rxml, :builder, :erb]} in view paths "/Users/piet/Sites/blog/app/views"`

Любая идея о том, как решить эту проблему?

+1

ли перезапуск ваши рельсы? –

+0

Я переименовал 'yourview.html.erb' в' yourview.html.haml', и он показал, что «Шаблон отсутствует». Поэтому я перезапустил сервер рельсов, и теперь он работает. – Bao

ответ

1

HAML работает без проблем в Rails 3 .. две вещи:

  1. Убедитесь, что ваш файл маршрут имеет resources :posts
  2. Убедитесь, что вы имеете приложение файл/Views/сообщения/index.html.haml

Не могли бы вы попробовать? И подтвердите, что комментарий Андрея о перезапуске Rails также был проверен.

+0

Я не знаю почему, но теперь он работает, 9 Thx для вашего ответа – Peter

69

Для рельсов 3 все, что вам нужно сделать, это добавить:

самоцветов "Haml-рельсы"

на ваш Gemfile, затем выполнить "пакет установки"

См https://github.com/indirect/haml-rails

Если вы все еще видите ошибку, попробуйте перезагрузить сервер.

+15

это должно быть отмечено как ответ - перезагрузка сервера была дополнительным шагом, который мне нужен. – Milktrader

+1

+1 для маркировки этого как ответа –

+0

Мне также понадобился перезапуск сервера. +1 для этого ответа. –

2

Если вы обновляете Rails 2 до Rails 3, убедитесь, что это близко к верхней части config/application.rb файла:

# If you have a Gemfile, require the gems listed there, including any gems 
# you've limited to :test, :development, or :production. 
Bundler.require(:default, Rails.env) if defined?(Bundler) 

Это должно быть прямо под

# Put this in config/application.rb 
require File.expand_path('../boot', __FILE__) 
require 'rails/all' 
+0

Я все время сбился с кроличьей дыры, думая, что из-за этого у меня возникла проблема с разрешением rvm/пассажира/gemsets/unix. Я добавил новую среду («qa») во время Capifying и развертывания на новый сервер. Все время мне нужно было добавить «qa» в следующую строку: «Bundler.require» (* Rails.groups (: assets =>% w (qa development test))). Спасибо, что указал мне в правильном направлении. – Chris

+0

подтверждено, точно такая же проблема у меня была –

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