1

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

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

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

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

4

1 回答 1

2

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

email["subject"]

在您的情况下,看起来电子邮件对象具有属性,因此它不是散列而是实际对象。在这种情况下,假设你有一个 attr_reader 用于主题和介绍,你会这样做:

email.subject

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

于 2012-08-20T23:40:46.083 回答