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