gpt4 book ai didi

ruby - 工厂女工——理解协会

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

对于 association 方法的作用以及如何正确使用它,我还没有找到明确的解释——我看到几个示例,其中模型 Alpha has_many Beta 然后在使用 a 创建新的 Beta 时工厂我们说 beta.association :alpha 或类似的东西。但是 Alpha 是否也与 Beta 相关联(Beta belongs_to Alpha)...所以我很困惑。我认为关联(至少在普通英语中)通常是相互的,所以我不明白这种方法应该做什么。有人可以澄清一下吗?

除了在广泛的概念层面上理解它之外,我还想确切地知道它在句法层面上做了什么(即,它是否像 attr_accessor 那样添加方法?比如它实际上在做什么??)

抱歉,我还没有找到一个明确的解释——如果有人能向我解释一下,那就太好了!!

最佳答案

根据我的经验,当您需要在工厂创建其他对象的同时实例化关联对象时,您在 FactoryGirl 中定义了“关联”,如果没有这种关联,您的新对象将无效。

假设您有 Company 和 Worker 模型,并且在您的应用程序中有验证可以防止创建具有无效 company_id 属性的 Worker。你可以有没有 worker 的公司(这就是为什么你不应该为工厂中的 worker 定义协会),但是你不能没有没有公司的 worker 。然后,您在工厂中为创建的每个 Worker 添加关联以延迟实例化 Company。

总结一下 - 当您在模型中有 belongs_to 并且当您在模型中的关联也有存在验证时,您就定义了关联。

关于ruby - 工厂女工——理解协会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6475380/

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