Rails 在每个循环中显示加入 table

Rails displaying joined table in each loop

我有客户端和任务模型,我定义了关系(任务 belongs_to :client 和客户端 has_many :tasks)。 在我的任务视图中,我设法从客户端 table 获取数据(例如 @task.client.name 工作正常。 但是,当我遍历所有结果时 (@tasks.each do |task|),我无法再访问客户端 table:task.client.name 引发错误:

undefined method `name' for nil:NilClass

显然 client 方法不适用于 task。我做错了什么?

确认您的所有任务都有一个客户端。如果您需要在您的模型中强制执行此操作,请在您的 Task 模型

中提供验证
class Task < ActiveRecord::Base
  belongs_to :client
  validates :client, presence: true
end