我想创建两个表,一个是Job,一个是JobType。
每个Job都有一个job_type即。临时,兼职或全职。
class Job < ApplicationRecord
has_one :job_type
end
class JobType < ApplicationRecord
belongs_to :job
end
所以我的job_type表看起来像这样
id type job_id
1 temp 1
2 temp 2
3 fulltime 3
4 temp 4
似乎多余......
我应该做什么,工作属于job_type而job_type有很多这样的工作?
id name job_type_id
1 waiter 1
2 waiter 2
3 clerk 1
id type
1 temp
2 fulltime
我很困惑。任何帮助表示赞赏。感谢。
答案 0 :(得分:1)
一个工作可以有很多工作类型,关联就像
:n
否则你可以给关联,比如一个工作有多个job_types,一个job_type有很多工作。
class Job < ApplicationRecord
has_many :job_type
end
class JobType < ApplicationRecord
belongs_to :job
end
答案 1 :(得分:0)
此问题适合many-to-many relationship
job
has_many job_types
,任何job_type
可以has_may jobs
。
为此,您需要一个联接表 - jobs_jobs_types
。
您的数据将如下所示:
jobs
id name
1 waiter
2 clerk
jobs_types
id type
1 temp
2 fulltime
jobs_jobs_types
job_id job_type_id
1 1
1 2
2 1
我将为您留下代码。 :)您可以在此Railscast获得更多帮助。
答案 2 :(得分:0)
Ruby只是一种简单的编程语言。它完全按照我们的说法运作。
For eg: A Posts has_many Comments and Comments belongs_to Post.
在这里你可以清楚地看到,这里的多元化告诉我们,特定帖子有很多评论。 同样的想法适用于has_one关系,User has_many Votes和Votes belongs_to User。 因此,在你的情况下,我建议你把你的协会写成 job has_many types和job_types属于job。
因此,这里的job_types表将使用表作业的主键作为数据规范化的外键。