首页 > 解决方案 > Rails belongs_to 双向

问题描述

我有一张模型票和一张模型收据。收据具有ticket_id 属性。

收据.rb

belongs_to :ticket

一张收据总是只有一张票,一张票只有一张收据。

现在我可以打电话给receipt.ticket。但我不能打电话给ticket.receipt。

有没有办法在不向 Ticket 添加receipt_id 属性的情况下实现这一点?

标签: ruby-on-rails

解决方案


has_one

收据.rb

belongs_to :ticket

票证.rb

has_one :receipt
#has_one :receipt, class_name: "Receipt", foreign_key: "ticket_id"

..

#receipt.ticket =>  Returns the associated ticket. nil is returned if none is found.
#ticket.receipt =>  Returns the associated receipt. nil is returned if none is found.

推荐阅读