Ruby on Rails:如何将具有属性的数据库条目转换为人类可读的格式?

时间:2010-09-29 07:56:47

标签: ruby-on-rails ruby

我正在使用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.

当然,这似乎是不正确的。有关正确做法的任何想法吗?

1 个答案:

答案 0 :(得分:4)

如果您的修订列是String,那么您可以将任何YAML转换为哈希:

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

更新:我上面说过“哈希”,但它会转换为适合给定YAML的类型。所以它可以是一个数组或对象。但在你的情况下,它将是哈希。