不能正确地使关系成为轨道或多态关系船



我使用的是rails 5和Ruby 2.3
我有一个模型名用户使用可以创建作业的设备创建的,因此用于此目的的迁移是:

rails g model job user:references cader_id:integer

这些作业可以由角色为Cader的其他用户完成。当学员完成作业时,我将该用户的user_id存储在作业表中,作为整数的Cader_id

正确的方法应该是什么。因此,如果我想搜索用户完成的所有工作,他们会快速搜索索引。

我可以像一样搜索该用户创建的所有工作

user.jobs

类似于搜索可以使用搜索的特定作业的用户

job.user

如何,我以Cader的身份搜索用户完成的所有作业像

cader.completed_jobs or user.completed_job 

并搜索像一样完成任务的特定学员

job.cader

提前感谢

现在为了搜索完成特定工作的Cader,我已经写了类似的类方法

def cader?
cader = User.find(self.cader_id)
end     

您可以在用户模型中编写一个实例方法completed_jobs,并像这样获取该用户完成的作业。

def completed_jobs
Job.where(cader_id: id)
end

为了搜索特定的cader,在查询特定作业实例时,将类方法更改为作业instance method

cader_id上添加索引以改进搜索结果

最新更新