gpt4 book ai didi

ruby-on-rails - has_one :through here (example from Rails guide) 有什么用

转载 作者:行者123 更新时间:2023-12-01 00:02:09 27 4
gpt4 key购买 nike

Example screenshot
(来源:rubyonrails.org)

为什么他们在这里使用 has_one:through 。我们只能对 has_one 做同样的事情。创建一个新类有什么需要。你能给我任何好的例子吗?

这是原始示例的链接
from Rails guide

编辑

我们可以用这种方式做同样的事情,让它成为 has_one:through 有什么用?

  class Supplier < ActiveRecord::Base
has_one :account
end

class Account < ActiveRecord::Base
belongs_to :supplier // add a another column credit_rating in accounts table
end

最佳答案

has_one :through使用关联是因为连接模型 ( AccountHistory ) 包含与 Supplier 之间的关联相关的附加信息和 Account即信用评级。

Rails 指南中的这个例子选择得很差,因为它没有说明为什么使用 has_one :through比使用 has_one 更好与 credit_rating Account 上的属性模型。

您应该使用 has_one :throughhas_many :through当您需要连接模型上的额外属性时,这些属性在逻辑上不属于形成关联的其他模型。一个典型的例子是对图书馆内的用户借书进行建模。图书借阅的日期和期限属于(借阅)连接模型,因为从逻辑上讲,它们不是属于用户或图书的属性。在这种情况下使用 has_many :through协会将是适当的。

关于ruby-on-rails - has_one :through here (example from Rails guide) 有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912050/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com