2010-02-09 6 views
1

Im essayant d'employer le langage liquide de modèle dans mon application de rails, j'ai regardé la vidéo de Ryan Bates sur des rails moulés, je suis à peu près les instructions mais cela ne semble pas fonctionner!Modèles liquides ne pas analyser!

Lorsque je tente quelque chose comme

@template = Liquid::Template.parse("Hi {{name}}") 
@template.render('name' => 'toby') 

Je reçois

hi toby 

mais lorsque je tente quelque chose comme

category = Category.first 
@template = Liquid::Template.parse("Hi {{category.name}}") 
@template.render('category' => category) 

Je ne reçois pas le résultat souhaité, je reçois seulement

hi "" 

Quelqu'un peut-il m'aider s'il vous plaît avec ceci?

Répondre

2

Lorsque la valeur n'est pas un hachage, vous devez indiquer à liquide quelles méthodes il peut lire à partir de l'objet transmis.

This documentation page montre comment instruire ActiveRecord. La méthode la plus rapide consiste à utiliser la macro liquid_methods.

+1

La raison de ceci est d'empêcher des choses comme 'parse (" Hi {{category.destroy}} ")' de jouer avec vos données. – mckeed

+0

@SimoneCarletti ce lien a expiré, pourriez-vous mettre à jour votre réponse. –

+1

@RolandStuder mis à jour –