【发布时间】:2015-09-03 00:36:17
【问题描述】:
与 Stackoverflow 上的工作方式类似,我正在设置一个应用程序,用户可以在其中发布赏金,其他用户可以自愿完成。
唯一的区别是用户选择执行赏金的人。因此,例如,如果创建了一个赏金并且三个人自愿完成它,那么创建者可以选择 1/3、2/3 或 3/3。
当一个赏金被创建时,它被认为是open,当用户选择一个正在进行时:in-progress,当完成时:complete >.
对于初学者,我将如何设置我的关联,其中用户是赏金的唯一所有者,但 其他 用户属于赏金但volunteers,如果选择成为participants。这应该作为一个自我参照的关联来完成吗?似乎设置两个新模型可能/可能不是多余的。
class User < ActiveRecord::Base
has_many :bounties
end
class Bounty < ActiveRecord::Base
belongs_to :user
end
至于赏金的状态,我应该在赏金表中设置三个不同的基于布尔值的列吗?
:open, :in_progess, :complete
【问题讨论】:
-
您需要第三个模型作为要添加赏金的组件,您可以使用第三个模型创建
through关系
标签: ruby-on-rails ruby activerecord associations