1

私は Ruby on Rails に取り掛かる PHP 開発者です。文字列のコレクションをシリアル化してデータベースに保存するプロジェクトに取り組んでいます。そのデータにアクセスしようとしていますが、メーラー クラス内で書いていますが、問題があります。データが DB から取り出されているモデル内では、 を使用して必要なものにアクセスできますemail.attr(key,'subject')が、 email 変数をメーラー クラスに渡し、メーラー クラス内で同じアクセス方法を使用しようとすると、"undefined variable 'key'"エラーメッセージ。

これは、email.inspect を実行したときのデータのダンプです。

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

Google での検索結果に役立つ情報が何も返されませんでした。

4

1 に答える 1

2

通常、次のようにしてハッシュ内のデータにアクセスします。

email["subject"]

あなたの場合、メールオブジェクトには属性があるように見えるので、ハッシュではなく実際のオブジェクトです。この場合、サブジェクトとイントロの両方にattr_readerがあると仮定すると、次のようになります。

email.subject

ただし、上記の例のバグは、メソッド呼び出しの「key」という単語が引用符で囲まれていないことである可能性があります(したがって、変数のように扱われます)。attrメソッドを介してアクセスされる属性を見たことがないので、推測です。

于 2012-08-20T23:40:46.083 に答える