2011-10-25 7 views
0

何が本当に簡単で何ができるのですか? 私はhas_many連絡先と連絡先belongs_to関係を持っています。ここで、連絡先のインデックスビューにリレーション名を表示します。連絡先のコントローラでは、私はこのている:子ビューで親の名前を表示

@contacts = Contact.paginate :page  => params[:page], 
          :include => :relations, 
          :per_page => 10, 
          :order => "last_name" 

今、私はこれを使用できるようにするには、インデックスビューに期待:

<%= contact.relation.name %> 

をしかし、それはundefined method "name" for nil:NilClassエラーを返しますか?ご協力いただきありがとうございます!

答えて

0

Relationオブジェクトを持たない少なくとも1つのContactオブジェクトがあります。そのため、.nameをゼロ値で呼び出そうとしています。

<%= contact.relation.name rescue "MISSING NAME" %> 

をし、表示する内容を参照してください。

あなたは関係なしに、いくつかの連絡先を持っている場合は、一時的に表示するには、このような何かをやって試すことができます。

+0

ありがとうございます! relation_idはテーブル内で空だったので、問題が作成されましたが、インデックスビューのコードはOKでした。phew :-) – John

+0

rel_idをattr_accessibleに設定するのを忘れていました。 – John

関連する問題