2010-09-29 30 views
0

J'utilise le grand logiciel Tequila-JSON Parser (http://github.com/inem/tequila) dans une application Web, pour rendre des réponses au serveur JSON plus ou moins complexes. De plus en plus, les JSON-Templates (.jazz) se développent en quelque sorte de véritables "vues". J'essaye maintenant, pour obtenir une variable d'instance du contrôleur correspondant, dans le modèle de .jazz, mais ceci échoue en quelque sorte.Puis-je envoyer des variables d'instance à Tequila (.jazz) JSON Parser? (Ruby on Rails)

Voici ce que j'essaie de faire.

Le contrôleur

def get_userlist 

    @users = User.find(:all, :order => "value DESC", :limit => 10)  
    @user = User.find_by_email(params[:user_email])  
    @userid = @user.id # also tried: @userid = 2 

    respond_to do |format| 
    format.json 
    end 
end 

La vue .jazz:

[email protected] 
    :only 
    .nickname 
    .level 
    .user_icon_url 
    .email 
    :methods 
     .isfriend(@userid) 
    +last_checkin 
    +last_checkin_place 
    :only 
     .name 
     .city 

Tout cela retourne un serveur de réponse JSON assez valide, mais malheureusement, il y a un problème avec le

:methods 
    .isfriend(@userid) 

La méthode "isfriend" réside dans le modèle "User", est appelée avec succès et retourne dans le JSON , ce qu'il devrait Mais la valeur de la variable d'instance est en quelque sorte erronée. Opposé à ce qui précède, celui-ci fonctionne très bien:

:methods 
    .isfriend(1) 

Maintenant la question: Tequila ne peut pas, d'interpréter les variables d'instance dans ses propres modèles de .jazz? Est-ce que quelqu'un a de l'expérience, des solutions ou des solutions de contournement?

Par souci d'exhaustivité, voici la méthode isfriend de l'utilisateur Modèle:

def isfriend(user_id) 
    "Hi, I am User with the id: " + user_id.to_s 
end 

Répondre

1

Non. En outre, il ne fonctionne pas sur Rails 3. Je viens de passer 6 heures en essayant de le porter et obtenu essentiellement nulle part :-(