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
我有客户端和任务模型,我定义了关系(任务 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