【问题标题】:Creating a shortlist in rails在 Rails 中创建候选清单
【发布时间】:2012-06-15 01:36:24
【问题描述】:

关于如何在 Rails 中创建候选名单,我有一个相当笼统的问题。

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

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

如果从以前实施过类似方法的人那里获得一些想法会很棒吗?

谢谢! :)

【问题讨论】:

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


    【解决方案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 中。

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

    【讨论】:

    • 这很好,非常感谢您的回复。只有我有点困惑的部分是添加没有命名空间的 CRUD?如果没有在这里查看我的代码,我相信我目前将拥有class JobsController < ApplicationController - 未命名空间的部分将如何使用它?再次感谢:)
    • 拥有class JobsController < ApplicationController 意味着它没有命名空间:) 如果它被命名空间,它将更像class Users::JobsController < ApplicationController,文件将位于app/controllers/users/jobs_controllerresources :jobs 路由声明将在您的路线中的resources :users 块内。我觉得你很适合去这里。
    猜你喜欢
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多