"keeper_id" 在我的基本测试中,-6ren">
gpt4 book ai didi

ruby-on-rails - 这两个 'belongs_to' 语句之间有什么区别吗

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:31 25 4
gpt4 key购买 nike

belongs_to :keeper, :class_name => "Staff"
belongs_to "staff", :foreign_key => "keeper_id"

在我的基本测试中,这些似乎在做完全相同的事情。
它们真的一样吗?
一个比另一个好吗?

最佳答案

这两个语句定义了相同的关联。区别在于定义这些关联的类如何引用定义的关联。

调用 belongs_to 为调用类定义了一大堆新的实例方法来处理给定的关系。这些新方法是根据 belongs_to 的第一个参数命名的。与大多数 Rails 的其余部分一样,ActiveRecord 将使用从第一个参数派生的合理默认值来生成管理关联的方法。为 belongs_to 提供额外的参数只是覆盖那些默认值。

实际上,它们除了名称外完全相同。这一切都取决于您的个人喜好。您是希望提及与 @model.keeper 还是 @model.staff 的关联?

通读 belongs_to section of the Associations引用以更好地了解模型属于另一个模型时提供的方法以及如何使用 belongs_to 的选项。

关于ruby-on-rails - 这两个 'belongs_to' 语句之间有什么区别吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2232833/

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