我有一个典型的has_many关系:
class Effort < ApplicationRecord
has_many :split_times
end
在各种情况下,我最终都会进行实例化工作,并使用split_time.effort_id == effort.id
创建新的split_times。当我想将努力对象传递给另一个服务时,我必须确保该工作的split_times不是陈旧的,我可以使用effort.reload
来做到这一点。
但如果我想在工作中加载split_times,我发现自己在做:
effort = Effort.where(id: effort.id).eager_load(:split_times).first
必须有更好的方法......不存在吗?
答案 0 :(得分:0)
因为你可以访问努力对象,所以你可以做到
@effort = #effort_object
split_times = @effort.split_times
=> #returns array of data
希望这会有所帮助