2010-06-10 33 views
17

Tôi nhận được một lỗi mà tôi không thể hình dung ra:Rails nhắn: ActionView :: MissingTemplate

ActionView::MissingTemplate (Missing template cluster/delete_stuff.erb in view path app/views) 
<...snip trace...> 
Rendering rescues/layout (internal_server_error) 

Tôi đang "tăng cường" người khác mã và đang theo ước họ thiết lập, nơi họ có có mã như thế :

<%= render :partial => "other_stuff" %> 

và một file có tên _other_stuff.html.erb và tất cả các công trình, nhưng khi tôi sao chép các đoạn nhỏ, tôi nhận được lỗi trên. Bất kỳ ý tưởng? Một cái gì đó đang xảy ra ở đây mà tôi cần phải tìm ra.

Trả lời

26

Hóa ra rằng tôi đã không có một

render :something

trong phương pháp điều khiển của tôi, vì vậy tôi đoán Rails figured rằng phải có một "delete_stuff.erb" nơi nào đó để biết phải làm gì. Thêm một render và thông báo lỗi biến mất.

4

ActionView sẽ tìm mẫu/partials trong thư mục chế độ xem bộ điều khiển hiện tại, trừ khi đường dẫn chế độ xem đã bị thay đổi trong bộ điều khiển — bạn có thể prepend and append các đường dẫn xem khác nhau để thử và khớp trước. Vì bạn đề cập cụ thể đến từng phần, hãy xem tài liệu trên partials.

Bạn có tệp _delete_stuff.html.erb trong thư mục lượt xem/cụm của mình không? Nếu không, đâu là phần _delete_stuff.html.erb? Nếu nó không nằm trong cùng một thư mục, bạn sẽ phải gọi render :partial => 'other_directory/delete_stuff' để một phần của bạn xuất hiện.

+0

Có, tôi có tệp _delete_stuff.html.erb trong thư mục views/cluster. Tôi đã thay đổi nó thành delete_stuff.erb và tất nhiên là lỗi đó biến mất và một lỗi khác xuất hiện. Sau đó, nó cũng khác sau đó tất cả các đoạn trích xem tương tự khác mà tôi đã sao chép từ đó. – rtfminc

+0

Bạn đang gặp phải loại lỗi nào? – theIV

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