2010-09-25 38 views
21

Tôi đã cố gắng hiển thị một số tệp có HAML trong Rails 3 mà không thành công.HAML trên Rails 3 lỗi về "Mẫu bị thiếu"

Các tệp thử nghiệm của tôi có phần mở rộng .html.haml.

Trong Gemfile của tôi, tôi có dòng gem 'haml' và đã chạy bundle install.

Khi tôi chạy ứng dụng của tôi, tôi nhận được lỗi sau:

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"`

Bất kỳ ý tưởng về cách giải quyết này?

+1

Did bạn khởi động lại quá trình rails của bạn? –

+0

Tôi đã đổi tên 'yourview.html.erb' thành' yourview.html.haml' và nó hiển thị 'Thiếu mẫu'. Vì vậy, tôi khởi động lại máy chủ đường ray và nó hoạt động ngay bây giờ. – Bao

Trả lời

1

HAML làm việc mà không vấn đề trong Rails 3 .. Hai điều:

  1. Đảm bảo rằng tệp tuyến đường của bạn có resources :posts
  2. Hãy chắc chắn rằng bạn có ứng dụng tập tin/views/bài viết/index.html.haml

Bạn có thể thử điều đó không? Và xác nhận rằng bình luận của Andrew về việc khởi động lại Rails cũng đã được thử.

+0

Tôi không biết tại sao, nhưng bây giờ nó đang làm việc, 9 Thx cho câu trả lời của bạn – Peter

69

Đối với đường ray 3 tất cả các bạn cần làm là thêm:

gem "Haml-ray"

để Gemfile của bạn, sau đó làm một "bó cài đặt"

Xem https://github.com/indirect/haml-rails

Nếu bạn vẫn thấy lỗi, hãy thử khởi động lại máy chủ của bạn.

+15

điều này phải được đánh dấu là câu trả lời - khởi động lại máy chủ là bước bổ sung mà tôi cần. – Milktrader

+1

+1 để đánh dấu mục này là câu trả lời –

+0

Tôi cũng cần khởi động lại máy chủ. 1 cho câu trả lời này. –

2

Nếu bạn đang nâng cấp từ Rails 2 đến Rails 3, hãy chắc chắn rằng đây là gần phía trên cùng của config/application.rb tập tin của bạn:

# 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) 

Nó phải là ngay dưới

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

Tôi đã xuống một hố thỏ cả ngày nghĩ rằng tôi đã có một số loại vấn đề rvm/hành khách/đá quý/unix vì điều này. Tôi đã thêm một môi trường mới ('qa') tại thời điểm Capifying và triển khai một máy chủ mới. Toàn bộ thời gian tôi cần thêm 'qa' vào dòng sau 'Bundler.require (* Rails.groups (: asset =>% w (thử nghiệm phát triển qa))) '. Cảm ơn bạn đã chỉ cho tôi đi đúng hướng. – Chris

+0

đã xác nhận, chính xác cùng một vấn đề mà tôi có –

Các vấn đề liên quan