Rails:belongs_to vs has_one

Mat*_*ggs 35 model ruby-on-rails associations has-many belongs-to

有关rails关联的一些新手问题.

我有一个Bug模型和一个状态模型.状态基本上只是一个键/值对表.在可用的选择中,我会说Bug has_one Status最有意义.但是,根据这个

内容belongs_to ContentTemplate.回过头来看看我如何描述问题,你会发现它有效.使用belongs_to,表接受外键的责任.所以Content有一个content_template_id.而且ContentTemplate不需要任何东西.我可以随意指出它.完成.

Bug belongs_to状态更合适(因为Bug应该使用外键).在语义上,他的榜样是有道理的,但我没有.这只是一个轨道的怪癖,在这种情况下,它看起来很奇怪,或者我不理解某事/做错了?

Chu*_*uck 19

是的,我认为你刚刚在Rails中发现了一个有点奇怪的场景.我认为将"状态"视为错误所属的一种类别可能是有用的 - 从这个角度看,它是有道理的.

  • 我想这可以证明rails在语义上有多好用,在这种情况下,我就像"我一定做错了" (4认同)

小智 9

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
Run Code Online (Sandbox Code Playgroud)

  • Bug会占用外键,因为状态可能有很多错误,但错误一次只有一个状态. (2认同)