2012-06-04 58 views
7

Đường ray 3.2.5. Tôi có một loạt các bộ điều khiển tạo nên một API JSON mà ứng dụng Backbone.js của tôi tiêu thụ. Tôi hiện đang tìm cách tạo một loạt các trình điều khiển sẽ phân phối nội dung tĩnh tới trình thu thập thông tin/trình thu thập dữ liệu/googlebot. Tôi muốn nhận được cùng một dữ liệu từ JSON API vì chúng được thiết kế riêng cho các mẫu handlebars mà tôi đã sử dụng với ứng dụng Backbone.js của tôi nhưng lần này lại hiển thị chúng phía máy chủ.Cách nhận phản hồi của bộ điều khiển từ bên trong bộ điều khiển khác?

Có cách nào để tôi có thể nhận phản hồi JSON từ bộ điều khiển API của mình và truy cập chúng từ bộ điều khiển khác không?. Tôi biết tôi có thể sử dụng curl nhưng kể từ khi API JSON đã được địa phương cho tôi và trong cùng một ứng dụng Rails, là có cách hiệu quả hơn và thanh lịch?

+0

Điều đó sẽ không xuất hiện trong bộ điều khiển ứng dụng? – Tallboy

+0

Mà sẽ đi trong 'ApplicationController'? – axsuul

+0

@Tallboy ngay cả khi nó đi vào bộ điều khiển ứng dụng, làm thế nào để ông tiêu thụ? – Nobita

Trả lời

2

Không, không có. Nếu bạn cần một cái gì đó như thế này, hệ số được chia sẻ mã bên trong một lớp khác (có thể bạn đang cố gắng xây dựng một service) và sau đó sử dụng điều này trong cả hai trình điều khiển để bạn có thể dễ dàng chia sẻ mã và sau đó tạo JSON từ đầu ra cho cả hai của họ.

Với bạn đang sử dụng RABL để tạo JSON, bạn nên bật the pieces you want to reuse into partials và sau đó đưa chúng vào mỗi chế độ xem cụ thể, giống như bất kỳ chế độ xem đường ray nào khác.

+0

Tôi đang sử dụng RABL để tạo JSON, do đó, có một JSON RABL xem cho mỗi hành động điều khiển API. Về cơ bản có hai lớp liên quan đến JSON API của tôi. Làm thế nào tôi sẽ refactor trong kịch bản này? – axsuul

+0

Có bạn đi, câu trả lời cập nhật. –

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