显示ruby中has_many关系的最后一个记录值

时间:2014-11-09 14:14:01

标签: ruby-on-rails haml

我有一个has_many构建的项目模型 如何在我的haml文件中显示每个项目的最后一个构建的状态

%table
  - @projects.each do |project|
    %tr
      %td #{project.name}
      %td #{project.created_at}
      %td #{project.builds.last.status} //this line is wrong
      %td #{project.builds.last.size}

我使用的是ruby版本:2.0.0p247

错误是:"未定义的方法`状态'为零:NilClass"

1 个答案:

答案 0 :(得分:1)

似乎一个特定的项目根本没有任何构建。当您在空集合上调用nil时,您会收到last,并且调用status会给您错误。解决方案是在使用其元素(builds)之前检查项目的unless project.builds.empty?集合。