我收到以下错误。我知道原因是我正在调用尚未关联的相关记录上的函数,但不知道解决此问题的最佳方法。
导致错误的代码:
<%= link_to member.names.last.fullname, polymorphic_path([member, Name]) %>
在此示例中,Name 与 Member 具有belongs_to 关系,Member 与Name 具有has_many 关系。它恰好是一种多态关系,但我认为这对于这个错误并不重要。
当调用上面的代码并且没有相关的名称时,错误是:
nil:NilClass 的未定义方法“全名”
我敢肯定,我在这里缺少一些非常基本的东西,应该可以防止这种情况发生。提前感谢大家可以提供的任何帮助!
标记
更多代码:
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