我正在尝试渲染Projects
使用项目部分的集合,但出现以下错误:
undefined method `customer' for nil:NilClass
Extracted source (around line #1):
1: <p><%= company_name(@project) %><p>
堆栈跟踪是:
app/helpers/projects_helper.rb:4:in `company_name'
app/views/projects/_summary.html.erb:1:in
app/views/customers/index.html.erb:11:in
因此,我的索引检查它们是否是开始的项目:
<% if @projects.any? %>
<%= render :partial => "projects/summary", :collection => @projects %>
<% end %>
我的部分(_summary.html.erb)很简单:
<p><%= company_name(@project) %><p>
<p><%= summary_description(@project) %><p>
我的 ProjectsHelpercompany_name
方法是
def company_name(project)
if project.customer.business_name.blank?
...Do stuff...
如果我通过 rails 控制台执行以下操作,则可以正常工作:
projects.first.customer.business_name.blank?
我真的很困惑,因为我认为这就是渲染集合应该做的事情。任何帮助将非常感激。