我正在使用acts_as_auditable插件,而revisions属性为我提供了这一块文本(即在“revisions”列中;即@ audit.revisions)
---
user_id: 2
kind: French
name: Delicious Pies
我正在尝试将该文本转换为人类可读的格式,以显示审核的详细信息。例如,我想将上面的块(即@ audit.revisions)转换成类似的东西:
Created "Delicious Pies", which is a French cuisine.
我正在考虑以下几点:
Created "<%= @audit.revisions[:name] %>", which is a <%= @audit.revisions[:kind] %> cusine.
当然,这似乎是不正确的。有关正确做法的任何想法吗?
答案 0 :(得分:4)
如果您的修订列是String,那么您可以将任何YAML转换为哈希:
y = YAML.load(@audit.revisions)
y["kind"] # => "French"
更新:我上面说过“哈希”,但它会转换为适合给定YAML的类型。所以它可以是一个数组或对象。但在你的情况下,它将是哈希。