【发布时间】:2015-10-07 00:44:01
【问题描述】:
我有两个简单的模型,Artwork 和 Artist。在我的artwork#index 视图中:
<% @artwork.each do |art| %>
Title: <%= art.title %>
Artist: <%= art.artist.fullname %>
<% end %>
但我不断收到此错误:
undefined method `fullname' for nil:NilClass
这是一个一对多的关联。在我的Artwork 模特:
class Artwork < ActiveRecord::Base
belongs_to :artist
accepts_nested_attributes_for :artist
end
艺人模特:
class Artist < ActiveRecord::Base
has_many :artworks
def fullname
"#{first_name} #{last_name}"
end
end
非常感谢任何帮助。
【问题讨论】:
-
您的
artworks表中有artist_id没有nil值吗? -
@Pavan 我刚刚意识到索引中的一些确实具有
nil值。我怎样才能绕过这个异常,或者告诉它即使其中一些有nil值仍然呈现? -
这应该适用于
<%= art.try(:artist).fullname %>你能再次检查并确认吗?连同@Emu 回答。 -
@Pavan 我遇到了同样的错误。我也试过
first_name -
我使用了这个:
art.artist.fullname if art.artist.present?并让它工作。你会说这是最简单的方法吗?或者我可以在模型或控制器中做一些其他配置吗?
标签: ruby-on-rails forms associations one-to-many data-modeling