2010-09-29 1 views
1

J'utilise le plugin acts_as_auditable, et les révisions attribut me donne ce morceau de texte (dans la colonne « révisions », à savoir @ audit.revisions)Ruby on Rails: Comment convertir une entrée de base de données avec des attributs dans un format lisible par l'homme?

--- 
user_id: 2 
kind: French 
name: Delicious Pies 

Je suis en train de convertir ce texte dans un format lisible par l'homme pour afficher les détails de l'audit. Par exemple, je veux convertir le morceau ci-dessus (@ audit.revisions) en quelque chose comme:

Created "Delicious Pies", which is a French cuisine. 

Je pense quelque chose le long des lignes de:

Created "<%= @audit.revisions[:name] %>", which is a <%= @audit.revisions[:kind] %> cusine. 

Bien sûr, cela semble être incorrect. Des idées pour le faire correctement?

+0

où vous mettez cette ligne? dans votre modèle/contrôleur ou vue? – shingara

+0

Je veux le mettre en vue :) – sjsc

Répondre

4

Si votre colonne de révision est une chaîne, vous pouvez convertir une YAML de hachage avec qui:

y = YAML.load(@audit.revisions) 
y["kind"] # => "French" 

mise à jour: je l'ai dit « hachage » ci-dessus, mais il sera converti en type qui est approprié pour le YAML donné. Cela peut donc être un tableau ou un objet. Mais dans votre cas ce sera hash.

+0

Parfait pawien! Tu es le meilleur. Merci beaucoup! :) – sjsc

Questions connexes