Ich glaube, ich habe einen sehr einfachen Fall, wenn ich verwende Rabl JSON Methoden für Standard RESTful Controller zurückzukehren ...Bedingtes umfassen Kind-Knoten mit RABL
Lassen Sie uns zunächst sagen, dass ich eine typische viele Beziehung mit Eltern und Kind (des Kunden sagen lassen und Konten):
class Customer < ActiveRecord::Base
has_many :accounts
end
In meinem Controller für Kunden ich habe Index und bearbeiten - Index, wo ich will nur alle Kunden zurück (ohne Konten) und bearbeiten, wo ich eine zurückkehren wollen bestimmter Kunde mit allen seinen Konten. Mit Index möchte ich die Konten nicht für offensichtliche Leistungs (N + 1) Gründe zurückgeben.
In meinem Rabl, ich habe folgendes:
#index.rabl (for listing all customers)
collection :@customers
extends "customers/_customer"
und
#edit.rabl (for editing a single customer)
object :@customer
extends "customer/_customer"
Ich Wiederverwendung der _customer.rabl sowohl für den Index und dem bearbeiten.
#_customer.rabl
object :@customer
attributes :name, ......
if @include_accounts
child :accounts do
extends "accounts/_account"
end
end
ich die @include_accounts in meinem bearbeiten (Controller) und den Index nicht gesetzt - aber das funktioniert nicht - hier im wesentlichen die Instanz var (@include_accounts) wird nie nach unten weitergegeben. Welches ist das richtige Muster, um dies zu implementieren?
Welche Version des Edelsteins benutzt du, 'rabl' oder' rabl-rails'? – drewinglis
Schienen 0.3.1. –