ActiveRecord中的零个或一个关联

Aal*_*mad 6 ruby ruby-on-rails associations has-one belongs-to

我正在编写一个Ruby on Rails应用程序,它有两个模型 - User和Farm.如果用户的农民字段设置为true,则该用户被视为农民.但是,农民没有单独的课程.

用户可能拥有一个服务器场,或者根本没有服务器场.(我相信这被称为零或一个关系).如果我把:

has_one :farm
Run Code Online (Sandbox Code Playgroud)

在用户模型和

belongs_to :user
Run Code Online (Sandbox Code Playgroud)

在Farm模型中,这将在Users和Farms之间创建一对一的关系,并且意味着每个用户都有一个Farm.如果我做了上述操作,每个用户都会有一个农场,这没有多大意义,因为某些用户没有农场.

简而言之,我想要的是,只有当他们的农民布尔值设置为true时,用户才能拥有一个农场.否则,关系不应该存在.他们使用ActiveRecord以这种方式使用它的方式是一种方法吗?

Kir*_*A B 10

has_one并不意味着您必须拥有一个相关实体(此处为farm).has_one用于我们有0或1个链接记录的关系.

您可以在这里找到类似的讨论.

当模型具有另一个模型的一个或零个实例时,可以使用has_one关联吗?