2012-02-08 40 views
6

Tôi vừa bắt đầu sử dụng Rails và không chắc chắn những gì tôi không làm đúng.Lỗi Rails "Mẫu bị thiếu", mặc dù nó tồn tại (3.2.1)

Trong routes.rb Tôi có

resources :pages 

Trong app/controllers/pages_controller.rb Tôi có

class PagesController < ApplicationController 
    def index 
    end 
end 

Tôi có một bố trí trong app/views/layouts/application.html.erb và một mẫu trong ứng dụng/lượt xem/trang chủ/trang/index.html.erb mà tôi muốn hiển thị khi tôi yêu cầu "/ trang". Tuy nhiên, tôi nhận được lỗi

Template là mất tích

Thiếu trang mẫu/index, application/chỉ mục với {: locale => [: en], : định dạng => [: html],: trình xử lý => [: erb,: builder,: coffee]}. Tìm kiếm trong: * "/ ###/app/views"

Tôi đã sử dụng stackoverflow cho các lứa tuổi mà không đăng, nhưng rất nhiều điều khác nhau dường như làm xuất hiện lỗi này mà thật khó để tìm câu trả lời cho tôi trương hợp đ̣ăc biệt. Ngoài ra tôi là một noob: 3 Xin vui lòng giúp đỡ!

+0

Nếu trình chỉnh sửa văn bản của bạn đang ở giữa quá trình ghi vào tệp tại thời điểm bạn làm mới, tệp không khả dụng và tệp sẽ gây ra lỗi như vậy. Nó xảy ra. – JackHasaKeyboard

Trả lời

9

Bạn nói rằng bạn có app/views/home/pages/index.html.erb để thể hiện chế độ xem chỉ mục cho tài nguyên trang của bạn. Tôi nghĩ rằng không cần thư mục home/.

Nói cách khác, tệp xem của bạn phải là app/views/pages/index.html.erb.

+1

Cảm ơn! Có vẻ như đây là lỗi thiếu ngủ: tôi sẽ đề cao bạn nếu tôi có thể. – hidenori

4

Nó đang tìm kiếm nó trong app/views/pages/index nhưng bạn có nó trong app/views/home/pages/index. Đó là sự khác biệt nhỏ làm cho nó để ước Rails bị mất.

Nếu bạn phải giữ cho hệ thống phân cấp thư mục mới, bạn thực hiện trên bộ điều khiển của bạn:

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

Nhưng, theo mặc định, nếu bạn có một tài nguyên, như :pages, nó sẽ tự động tìm trong app/views/pages.

+0

Cảm ơn bạn đã cung cấp thêm thông tin! Cá nhân tôi không cần phải làm điều này, nhưng ai đó có thể. – hidenori

0

Tôi gặp sự cố này và tôi đã giải quyết vấn đề này bằng cách chỉ thay đổi tên thư mục từ ô tô sang ô tô. Tôi đã phải thay đổi tên thư mục từ số ít thành số nhiều.

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