2010-07-28 5 views
0

J'ai le problème suivant. Mon application (un prototype d'une API) devrait être capable de réagir sur les paramètres (comme le langage). Je suis déjà capable de répondre à une requête en envoyant un objet entier (avec les objets associés inclus) en JSON. Mais maintenant je veux sélectionner les objets associés par paramètre. mon code:Comment sélectionner un seul élément d'objets associés dans to_json/to_xml

object.to_json(include => { 
    :texts_in_diff_languages => { 
    #here i should be able to select only languages equal to a given parameter (params[:language]) 
    } 
}) 

Avez-vous une idée? Merci!

+0

Je ne sais pas exactement ce que vous essayez de faire. Donc, y a-t-il deux tables, un objet, et des objets associés ou quelque chose? Et vous essayez de retourner l'objet, avec un sous-ensemble de ses objets associés? – jasonpgignac

Répondre

0

Ok j'essaie de l'expliquer autrement: J'ai trois tables, une appelée livres, appelée textes et les troisièmes langues. Sur Book has_many textes et un texte a une langue. Maintenant je veux écrire une méthode dans le BooksController qui retourne un JSON contenant seulement le livre: title, book: text: contenu d'une langue spécifique. Cette langue que je veux obtenir à partir d'un paramètre (params [: id_de_langue]). Le comprenez-vous maintenant?

mon code: (sélectionne un livre et inclut tous ses textes pour toutes les langues)

render :json => @book.to_json(
:only => [:title], 
:include => { 
    :texts => { 
    :include => { 
    :languages 
    } 
    } 
}) 
Questions connexes