2010-12-05 3 views
0

私はindex.html.erbは現在、私はそれが見せたいものを一方<td><%= chapter.university_id %></td>を含んレール3プロジェクトが<td><%= chapter.university.name %></td>しかし、これは現在ゼロの例外未定義のメソッド `name」を投げているべきである持っている:NilClassは興味深いことに、章.foo.nameは、 "chapter"が属する別のモデルからの情報にアクセスするために働いています。誰かがこれを標準化するのを助けることができる?Rails 3 object.belongs_to_id to object.belongs_to.name?

EDIT:

別の方法でこのエラーを再現する試みで、私はむしろ章よりも、私は大学のテーブルから私をuniversity_id与えるためにレールを納得させることができることを期待して、<td><%= chapter.university.id %></td><td><%= chapter.university.name %></td>を変更表。まだない運が、誤って4になりnilのためのIDと呼ばれるエラー、与えた -ではなく、未定義のメソッドはnilのための `name」をobject_idの使用、あなたが本当にゼロのIDを望んでいた場合は:私が以前持っていたNilClassを受信しています。

は私もチェックしてchapteruniversityなどchapterfooの関係「belongs_toの」「にhas_manyを」/再確認し、作業と非稼働の関係が同一であることがわかってきました。これらの関係がモデル内で宣言されている順序を変更しても効果はありません。

答えて

0

これは、フィクスチャがデータベースにロードされる方法に問題があることが判明しました。依存関係は観察されていなかったので、無作為なデータが大学のテーブルのuniversity_id列に配置されていました。不良データを除去し、手動で入力したデータと置き換えることで問題が解決しました。