访问从数据库返回的哈希内的数据

时间:2012-08-20 23:30:57

标签: ruby-on-rails ruby hash

我是一名开发Ruby on Rails的PHP开发人员。我正在开发一个项目,其中字符串集合被序列化并存储在数据库中。我正在尝试访问这些数据,但是在我正在编写的邮件程序类中,但我遇到了麻烦。在模型中从数据库中取出数据,我可以使用email.attr(key,'subject')访问我需要的内容,但是当我将电子邮件变量传递给邮件程序类并尝试在内部使用相同的访问方法时邮件程序类我收到"undefined variable 'key'"错误消息。

这是我运行email.inspect时的数据转储。

{"subject"=>"Subject of Email", "intro"=>"Welcome"}

我在Google上的搜索结果没有返回任何有用的信息。

1 个答案:

答案 0 :(得分:2)

通常,您可以通过执行以下操作来访问哈希中的数据:

email["subject"]

在您的情况下,看起来电子邮件对象具有属性,因此它不是哈希,而是实际对象。在这种情况下,假设您有主题和介绍的attr_reader,您可以这样做:

email.subject

但是,我认为上面示例中的错误可能是b / c方法调用中的'key'一词未被引用(因此,它将其视为变量)。只是猜测,因为我从未见过通过attr方法访问的属性。