2012-02-02 32 views
5

Tôi đang học Ruby on Rails từ cuốn sách của Michael Hartl. Tôi thực sự thích bài viết này, có cấu trúc và rõ ràng. Tuy nhiên, tôi có một câu hỏi về chương 3.3 khác biệt giữa Rails 3.0 và Rails 3.2 phiên bản:Sự khác biệt giữa sách của Michael Hartl giữa Rails 3.0 và Rails 3.2

  • Các PagesController trở thành một StaticPagesController
  • @Title không nữa khởi tạo trong bộ điều khiển, nhưng trong mỗi trang
  • Các @Title biến được khởi tạo thông qua "cung cấp" chức năng, và sử dụng thông qua chức năng "năng suất" thay vì chỉ đơn giản là chèn <%= @title %>

là nó cho lý do đào tạo, o r là một thực hành tốt nhất được cập nhật về phát triển RoR?

+0

Tôi cũng nhầm lẫn với việc sử dụng hàm cung cấp khi làm theo hướng dẫn này. – zsljulius

Trả lời

16

Các PagesController trở thành một StaticPagesController

Không có lý do. PagesController là tốt. Anh ấy đã làm điều đó vì lý do rõ ràng (?).

@Title không nữa khởi tạo trong bộ điều khiển, nhưng trong mỗi trang

này là vì lý do thực hành/hội nghị tốt nhất. Xin hãy nhìn vào câu trả lời về câu hỏi này Where does the meta content live in the MVC?

Biến @Title được khởi tạo thông qua "cung cấp" chức năng, và sử dụng thông qua chức năng "năng suất" thay vì chỉ đơn giản là chèn <% = @title%>

Câu trả lời giống như trên.

Một số người nghĩ rằng nội dung meta như tiêu đề thuộc về chế độ xem và do đó phải được đặt trong chế độ xem chứ không phải trong bộ điều khiển.

Sự khác biệt thực tiễn giữa providecontent_for được giải thích tốt ở đây: http://api.rubyonrails.org/classes/ActionController/Streaming.html#module-ActionController::Streaming-label-Communication+between+layout+and+template

Xin lưu ý rằng những thay đổi này không cụ thể cho Rails 3.2 (trừ provide đó là giới thiệu với stream trong Rails 3.1).

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