2012-02-21 22 views
7

Okey, vì vậy tôi quyết định sử dụng backbone.js trong ứng dụng đường ray của mình, nhưng tôi cảm thấy rằng tôi đang thực hiện rất nhiều mã dự phòng. Tôi đang có rất nhiều mô hình và các mẫu trong xương sống được nhiều hơn hoặc ít hơn giống như đường ray tương đương của họ. Có loại đá quý nào xử lý việc này không? Một cái gì đó giống như act_as_backbonemodel mà bạn đưa vào mô hình đường ray của bạn tạo ra mô hình xương sống (với khả năng được ghi đè để thêm chức năng). Ngoài ra nó sẽ là tuyệt vời nếu có tồn tại một số loại đá quý-xương sống-xem đá quý cho phép bạn đặt các mẫu của bạn trong thư mục xem của bạn và sử dụng partials bình thường/tái sử dụng xem đường ray bình thường.Tải ứng dụng của tôi nhiều DRY với đường ray và backbone.js

+0

các bản phát thanh mới nhất không đề cập đến bất kỳ điều gì như thế. vì vậy tôi cho rằng loại đá quý này chưa tồn tại: http://railscasts.com/episodes/325-backbone-on-rails-part-2 – phoet

+0

Tôi vừa tạo ra một repo github. Có lẽ ai đó có thể giúp tôi phát triển viên đá quý này, bởi vì đây sẽ là viên ngọc đầu tiên của tôi. Repo được gọi là act_as_backbonemodel – jonepatr

Trả lời

0

tôi vừa nhận được thông tin mà nền tảng cộng đồng doanh nghiệp xing.com đang xây dựng một viên ngọc như vậy.

có một cái nhìn tại các kho lưu trữ trên github: https://github.com/xing/slouch

nó không phải tài liệu nào, nhưng tôi nghĩ rằng nó sẽ được dễ dàng để liên lạc với những kẻ xây dựng nó.

1

The Gem gần nhất tôi biết là: https://github.com/codebrew/backbone-rails Có lẽ kết hợp với: https://github.com/netzpirat/haml_coffee_assets

Có mẫu Backbone trong app/views không có ý nghĩa, vì những nên JS nạc (hoặc biên soạn để js) các tệp chứa (gần như) không có logic. Bạn nên cân nhắc tải chúng từ CDN thông qua đường dẫn nội dung.

Trường hợp sử dụng phổ biến là cho phép Backbone xử lý logic dữ liệu phía trước và sử dụng Rails làm API của bạn.

1

Khi tôi bắt đầu sử dụng Backbone with Rails (gần một năm trước), tôi cũng muốn có một viên đá quý như thế này (tôi đã sử dụng đường ray-đường ray vào thời điểm đó). Ban đầu nó có vẻ như nhiều thứ đã được nhân đôi giữa xương sống và đường ray, nhưng khi phát triển tiến triển, tôi thấy đây là ngoại lệ chứ không phải là quy tắc. Đặc biệt nếu bạn đang sử dụng Rails làm API, loại đá quý này chỉ có thể hữu ích khi bắt đầu dự án và ít liên quan hơn sau đó.

Tôi nói điều này vì hầu hết các mô hình của chúng tôi không còn tương ứng với tài nguyên Rails của chúng tôi. Ví dụ: trong khi thông tin về mọi người là bắt buộc, thông tin này xuất phát từ sự kết hợp của một số tài nguyên và loại trừ nhiều dữ liệu trong hồ sơ người chính. Ngoài ra, việc tạo và sửa đổi chúng không thích hợp trong ứng dụng của chúng tôi, và việc tạo ra chỉ bằng lời mời và được tiếp xúc như một nguồn tài nguyên hoàn toàn khác.

Các tài nguyên khác không cần thiết, nhưng các tài nguyên khác có tập hợp nhỏ chức năng hoặc dữ liệu hoặc có dữ liệu từ nhiều tài nguyên, việc tạo thứ gì đó thực sự không hiệu quả.

Vì đường ray là API trong trường hợp của chúng tôi, chúng tôi không có bất kỳ sự trùng lặp nào trong lớp chế độ xem.

Tôi thấy rằng việc tạo trình tạo tùy chỉnh phù hợp với cách bạn làm việc với xương sống hoặc có một vài mẫu trong trình chỉnh sửa được chọn là giải pháp linh hoạt hơn.

Về mặt tổ chức, chúng tôi đã thêm xương sống dưới dạng thư mục trong thư mục app/assets/javascripts và tạo thư mục cho mô hình, chế độ xem, bộ định tuyến, người trợ giúp, v.v. Điều này cho phép sử dụng coffeescript để viết xương sống mà không cần bất kỳ đá quý nào. Chúng tôi sử dụng đá hoa nhài và jasminerice để kiểm tra mã xương sống của chúng tôi với coffeescript và haml cho đồ đạc (những sống trong thư mục spec/javascripts).

Đối với các mẫu, tất cả đều là dạng xem partials trong bộ điều khiển được hiển thị Backbone trông chúng bằng id và sử dụng chúng từ đó.

Hy vọng điều này sẽ hữu ích.

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