关于 Rails 协会的一个新手问题。

我有一个 Bug 模型和一个 Status 模型。状态基本上只是一个键/值对表。在可用的选择中,我认为 Bug has_one Status 最有意义。然而,根据

内容属于内容模板。回去看看我如何描述问题,您会发现它有效。与属于属于的属性,该表负责外键的责任。因此,内容具有content_template_id。并且ContentTemplate不需要任何东西。我可以随意指着它。完毕。

Bug 属于_to Status 会更合适(因为 Bug 应该采用外键)。从语义上讲,他的例子有道理,但我的例子没有道理。这只是轨道的一个怪癖,在这种情况下看起来很奇怪,还是我不理解某些事情/做错了?

有帮助吗?

解决方案

是的,我想你刚发现在Rails稍微古怪的场景。我想这可能是观看“状态”作为一种类别的哪个错误属于有用 - 在该光,是有意义

其他提示

TABLE:
    Bug
    id integer
    desc string
    status_id integer fk

    Status
    id integer
    desc string

RAILS MODEL:
    Bug
    belongs_to :status

    Status
    has_many :bugs

您没有准确解释您希望获得 Bug 和 Status 之间什么样的关系,但我假设您对以下其中一项感兴趣:

  • 一对多:在这种情况下应该有 has_many 在 Bug 类中和 belongs_to 在状态类中,
  • 一对一:在这种情况下应该有 has_one 在 Bug 类中和 belongs_to 在状态类中。

在这两种情况下,Status 都包含外键。在第二种情况下,措辞有点奇怪,因为一对一关系实际上是不对称的(应该只在一侧有 FK)。

如果状态仅仅是查找/键值表,这听起来像你可能想的 HABTM has_and_belongs_to_many)状态和错误之间的关系。随着的habtm,什么你会是一个bugs_statuses加入有bug_idstatus_id列与你一起的错误和状态表的表来结束。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top