在rails中创建一个候选名单

时间:2012-06-12 07:22:32

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我有一个关于如何在rails中创建候选名单的相当普遍的问题。

我目前拥有的用户和工作模式,用户可以注册和创建/编辑工作等。我想做的是让用户将他们感兴趣的工作添加到“候选名单”中,以便他们可以轻松回到他们身边 - 然后我想将这些入围的工作添加到我的用户仪表板中。

我想知道实现这样的设置的最佳方法是什么?是否最好为短名单创建一个单独的控制器,并使其成为用户的嵌套资源,然后将我的作业表与我的数据库中的候选名单表链接起来?

很高兴从之前已经实现过类似内容的人那里得到一些想法吗?

谢谢! :)

1 个答案:

答案 0 :(得分:1)

如果我理解正确,就建模而言,这听起来像你想要一个has_and_belongs_to_many关系 -

用户:

has_and_belongs_to_many :shortlisted_jobs, :class_name => 'Job'

作业:

has_and_belongs_to_many :shortlisting_users, :class_name => 'User'

就控制器设置而言,我会将作业CRUD放入JobsController,而不是命名空间,并将操作特定用户的候选名单所需的操作添加到UsersController。< / p>

我正在做的一个假设是,作为您应用中的用户,我可以将您创建的作业添加到我的候选名单中。如果是这种情况,我会按照我刚刚描述的方式进行设置。