我正在编写一个 Ruby on Rails 应用程序,它有两个模型——用户和农场。如果用户的农夫字段设置为 true,则用户被视为农夫。但是,农民没有单独的班级。
一个用户可能有一个农场,或者根本没有。(我相信这被称为零或一关系)。如果我放:
has_one :farm
在用户模型和
belongs_to :user
在农场模型中,这将在用户和农场之间建立一对一的关系,并意味着每个用户都有一个农场。如果我这样做了,每个用户都会有一个农场,这没有多大意义,因为有些用户不能拥有一个农场。
简而言之,我想要的是用户只有在他们的农民布尔值设置为 true 时才能拥有一个农场。否则,这种关系不应该存在。他们是使用 ActiveRecord 来做到这一点的一种方式吗?