次のエラーが表示されます。その理由は、まだ関連付けられていない関連レコードで関数を呼び出しているためだとわかっていますが、これを修正する最善の方法を知りませんでした。
エラーの原因となるコード:
<%= link_to member.names.last.fullname, polymorphic_path([member, Name]) %>
この例では、Name は Member との belongs_to 関係を持ち、Member は Name と has_many の関係を持ちます。たまたまポリモーフィックな関係ですが、このエラーには関係ないと思います。
上記のコードが呼び出され、関連する名前がない場合、エラーは次のとおりです。
nil:NilClass の未定義メソッド `fullname'
これが起こらないようにするために、ここで欠けている非常に基本的なものがあると確信しています。皆様のご協力をよろしくお願いいたします。
マーク
より多くのコード:
class Name < ActiveRecord::Base
belongs_to :person, polymorphic: true
attr_accessible :dob, :dod, :first, :gender, :last, :mi, :prefix, :relation, :suffix
def fullname
first + last
end
end
class Member < ActiveRecord::Base
has_many :names, as: :person
attr_accessible :active, :deleted
end