Ruby on rails 轨道是双向的

Ruby on rails 轨道是双向的,ruby-on-rails,Ruby On Rails,我有一张模型票和一张模型收据。收据具有票据id属性 receipt.rb belongs_to :ticket belongs_to :ticket 一张收据总是只有一张票,一张票只有一张收据 现在我可以叫收据了。但我不能叫票。收据 有没有一种方法可以在不向票证添加收据id属性的情况下实现这一点? receipt.rb belongs_to :ticket belongs_to :ticket 票.rb has_one :receipt #has_one :receipt, class_

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

receipt.rb

belongs_to :ticket
belongs_to :ticket
一张收据总是只有一张票,一张票只有一张收据

现在我可以叫收据了。但我不能叫票。收据

有没有一种方法可以在不向票证添加收据id属性的情况下实现这一点?

receipt.rb

belongs_to :ticket
belongs_to :ticket
票.rb

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

receipt.rb

belongs_to :ticket
belongs_to :ticket
票.rb

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

在ticket.rb中,添加:


有一张收据吗

在ticket.rb中,添加:


有一张收据吗

如果它不起作用,那么您可以明确地说,该关联被称为
的类别和外键的关联有一个:收据,类别名称:“收据”,外键:“票证id”
@Catmal如果对您有帮助,请随意接受/投票回答,对于未来的SO搜索者也是如此。啊,不,不是case列是ticket\u id,这是rails的默认值。一定是别的原因。不管怎样,现在可以了,我会尽快接受的possible@Catmal有时它需要在关联模型之间显式调用join_键,通过提供class和foregin_键,在您的例子中,假设
has_one
不起作用,这就是为什么我认为显式调用它是个好主意,否则,按照rails惯例,它会自动理解关联,无论如何,谢谢。如果这是rails 5应用程序,则属于关联的
收据。票证
将抛出验证错误,而不是返回零。现在所属的默认行为为
必需:true
。如果它不起作用,那么您可以明确地说,该关联被称为
的类和外键的关联有一个:receive,class\u name:“receive”,外键:“ticket\u id”
@Catmal如果对您有帮助,请随意接受/投票回答,对于未来的SO搜索者也是如此。啊,不,不是case列是ticket\u id,这是rails的默认值。一定是别的原因。不管怎样,现在可以了,我会尽快接受的possible@Catmal有时它需要在关联模型之间显式调用join_键,通过提供class和foregin_键,在您的例子中,假设
has_one
不起作用,这就是为什么我认为显式调用它是个好主意,否则,按照rails惯例,它会自动理解关联,无论如何,谢谢。如果这是rails 5应用程序,则属于关联的
收据。票证
将抛出验证错误,而不是返回零。所属\u现在有
required:true
作为默认行为。