1

这是一个场景:我有一个IssueType模型和一个IssueTypeColour模型。An IssueType has_one IssueTypeColour,但 anIssueTypeColour不一定belongs_to是特定的IssueType; 它可以属于许多不同的IssueType。换句话说,许多IssueTypes 可以有相同的IssueTypeColour

has_one根据这种情况,在模型上有关联而在IssueType模型上没有belongs_to关联是有意义的IssueTypeColour

但这可以接受/可以吗?

4

2 回答 2

3

我想知道您是否真的需要该 IssueTypeColor 模型,您只需将 TypeColour 属性添加到 IssueType。

如果您想使用这两个模型,您的关系实际上是一对多的,因此您需要:

IssueType :belongs_to ....
IssueTypeColour :has_many ...

我会推荐你​​这个链接:

http://guides.rubyonrails.org/association_basics.html

在那里你会找到一个详细的解释。

于 2012-11-06T16:47:37.673 回答
0

对我来说没关系。在我的场景中,我有拥有一家航空公司的机票模型,但航空公司不属于机票,因为可能不止一张拥有该航空公司的机票。我解决了这个问题,将外键ticket_id 放在航空公司模型中。所以,当我有票对象时,我可以请求与这张票关联的航空公司。但是,当我有航空公司对象时,我无法请求机票,因为关联从机票对象一侧是单向的。此外,我认为在不必要的时候建立双向关联并不是一个好主意。但是,并不是所有的场景都是一样的。

这是迁移文件:

add_reference :airlines, :ticket, index: true
于 2016-02-21T16:46:41.013 回答