Tôi nghĩ rằng tôi có một trường hợp rất cơ bản khi tôi đang sử dụng rabl trở về JSON cho các phương pháp điều khiển RESTful tiêu chuẩn ...có điều kiện bao gồm các nút con với RABL
Đầu tiên chúng ta hãy nói rằng tôi có một điển hình để nhiều mối quan hệ với phụ huynh và trẻ em (giả sử khách hàng và các tài khoản):
class Customer < ActiveRecord::Base
has_many :accounts
end
Trong điều khiển của tôi cho khách hàng, tôi đã chỉ mục và chỉnh sửa - chỉ số mà tôi chỉ muốn trả lại tất cả khách hàng (KHÔNG tài khoản) và chỉnh sửa nơi tôi muốn quay trở lại một Khách hàng cụ thể với tất cả Tài khoản của họ. Với chỉ mục tôi không muốn trả lại các tài khoản vì lý do hiệu suất rõ ràng (N + 1).
Trong rabl tôi, tôi có như sau:
#index.rabl (for listing all customers)
collection :@customers
extends "customers/_customer"
và
#edit.rabl (for editing a single customer)
object :@customer
extends "customer/_customer"
Tôi tái sử dụng _customer.rabl cho cả các chỉ số và chỉnh sửa.
#_customer.rabl
object :@customer
attributes :name, ......
if @include_accounts
child :accounts do
extends "accounts/_account"
end
end
tôi đặt @include_accounts trong chỉnh sửa của tôi (điều khiển) và không phải là chỉ số - nhưng điều này không làm việc - cơ bản var dụ ở đây (@include_accounts) không bao giờ được thông qua xuống. Mô hình chính xác để thực hiện điều này là gì?
Bạn đang sử dụng phiên bản nào của đá quý, 'rabl' hoặc' rabl-rails'? – drewinglis
rabl-rails 0.3.1. –