0

我正在遍历一个表以获取一些值,然后我试图循环另一个表以获取更多项目:

我的业务表看起来像这样

id        name          
1         Business 1    
2         Business 2   

商业照片表:

id        default_pic       business_id
1         blahblah.jpg      1

所以如果我想循环:

<% @b.each do |b| %>
   <%= b.name %>
   <%= b.business_photos.default_pic %>
<% end %>

undefined method defaul_pic?相信,因为在第二个循环之后没有更多记录Business 2。什么是检查记录关联的rails方法,所以我没有收到这个错误?

这是我的模型的外观:

class Business < ActiveRecord::Base
  has_many :business_photos
end

class BusinessPhoto < ActiveRecord::Base
  belongs_to :business
end
4

1 回答 1

1
<%= b.business_photos.default_pic if defined?(b.business_photos.default_pic) %>

这是一个条件 if 语句,我们每次想要包含一个变量时都使用它并且不确定它是否已设置。我一直在寻找可以防止错误通过 .each 显示的东西(会从视图中提取很多逻辑),但我还没有找到

于 2013-10-26T18:37:13.750 回答