2012-03-07 33 views
6

Tôi vừa mới bắt đầu sử dụng InheritedResources cho một ứng dụng tôi đang xây dựng và khi tôi xem trang Github của nó, nó nói nó không được dùng nữa và thay vào đó tôi nên sử dụng Ứng dụng trả lời.Tài nguyên thừa kế Deperecated on Rails 3 ... Responders

Tôi mới làm quen với InheritedResources và Responders vì vậy tôi thấy bối rối, làm thế nào tôi có thể nhận được từ Người trả lời những gì tôi nhận được trong InheritedResources (hoàn thành các hành động REST cơ sở "mẫu" mã) khi tất cả tôi nhìn thấy từ tài liệu là FlashResponders và HTTPCacheResponders?

Tôi cũng đã lấy một cái nhìn tại một này:

http://blog.plataformatec.com.br/tag/inherited_resources/

nên không có nghĩa là không còn phải "REST của mẫu mã" cho tôi?

Trả lời

10

Sự kết hợp của respond_with (được tích hợp vào Rails) cùng với đá quý responders khiến InheritedResources không còn được dùng nữa.

Vui lòng xem this blog post để có giải thích và minh họa tuyệt vời về cách tạo bộ điều khiển RESTful bằng cách sử dụng respond_with. Hầu hết các hành động của bộ điều khiển được giảm xuống thành các dòng mã đơn; với InheritedResources nó đã có thể có một bộ điều khiển không có mã (vì nó đã được ẩn đi trong đá quý), nhưng Jose Valim (tác giả của InheritedResources) nghĩ rằng điều này đã quá obfuscated theo báo giá của mình:

"Tôi có thấy rằng các trình phản hồi trừu tượng và các trình tạo Rails tùy chỉnh cung cấp sự cân bằng hoàn hảo giữa ẩn và hiển thị quá nhiều logic. "

responders sẽ phát nếu bạn muốn tự động hóa bất kỳ phần nào khác của thao tác điều khiển, ví dụ như cài đặt tin nhắn flash.


UPDATE: Đối với các commenter dưới người được hỏi về hành động destroy

def destroy 
    record = Record.find(params[:id]) 
    flash[:notice] = "The record has been destroyed successfully" if record.destroy 
    respond_with record 
end 
+0

gì về: phá hủy? – fringd

+0

@fringd Tôi đã thêm đoạn mã ở trên. Hy vọng rằng sẽ giúp! –

+0

Đá quý đáp ứng cung cấp FlashResponder sẽ cài đặt các thông điệp flash thích hợp để tạo, cập nhật và hủy. @fringd – graywh

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