我是个菜鸟,我想和你们确认一下,如果我在正确的轨道上,在建立招聘申请的模型方面。
有用户
每个用户填写详细信息,并记录1段视频。
,有工作,
每个工作都有一个或两个关于该工作的特定问题。用户通过填写1或2个特定问题来申请职务。
基于此,
我们将有用户模型.
用户模型将具有属性名称、电子邮件、程度、pref_city等、video_id。
用户has_many作业
然后,--有作业模型。作业belong_to用户
我对这个模型的效果很困惑
每个工作将有job_title,job_desc,工资等,以及custom_question1,custom_question2。
当管理员创建作业时,他们将为1和2编写自定义问题。
然后,当用户申请工作时,他们会回答这些问题。然而,,我将在哪里记录自定义问题的答案?
我在正确的轨道上吗?
发布于 2013-12-09 06:14:31
这是作业和用户之间的一对一的关系。用户可以申请许多作业,作业可以有许多应用程序,对吗?您可以使用以下结构来建立更健壮的模型:
User
has_many :jobs, through: :applications
Job
has_many :users, through :applications
has_many :questions
Application
belongs_to :user
belongs_to :job
has_many :answers
Question
belongs_to :job
has_one :answer
Answer
belongs_to :application
belongs_to :question我真的认为不应该将答案链接到用户,而是应该将它们链接到应用程序。
发布于 2013-12-09 05:12:32
就我个人而言,为了拥有更多的rails魔力,我会将问题和答案从job本身中分离出来,因为我们确实热爱我们的元。
所以看起来更像这样:
User
has_many :jobs
Job
belongs_to :user
has_many :questions
has_many :applications
Application
belongs_to :user
belongs_to :job
Question
has_many :answers
belongs_to :job
Answer
belongs_to :question
belongs_to :user这样,您就可以通过以下方式获得给定职务当前答案的列表:
@job.questions.first.answers发布于 2013-12-09 05:09:51
我认为你走在正确的轨道上。下面的代码集应该会给你一些想法。听起来是个很棒的项目。玩得开心!
# user.rb
class User < ActiveRecord::Base
has_many :jobs # jobs this user posted
has_many :job_applications
has_many :user_answers
# job.rb
class Job < ActiveRecord::Base
has_many :questions
has_many :job_applications
# question.rb
class Question < ActiveRecord::Base
has_many user_answers
belongs_to :job
# job_application.rb
class JobApplication < ActiveRecord::Base
belongs_to :user
belongs_to :job
# user_answer.rb
class UserAnswer < ActiveRecord::Base
belongs_to :user
belongs_to :question
# has a column "answer text..."https://stackoverflow.com/questions/20463367
复制相似问题