- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在不同的地方都读过它在某些情况下会自动推断出来,但是我发现关于此功能的文档很难理解。谁能阐明一些原则? 特别是Rails何时可以推断,Rails何时不能推断逆?
我想考虑
BundleProduct
和IndividualProduct
都从Product
继承并使用products
表)inverse_of:
而不是必须更改系统中的每个模型提供一些指导。
最佳答案
If you do not set the :inverse_of record, the association will do its best to match itself up with the correct inverse. Automatic inverse detection only works on has_many, has_one, and belongs_to associations.
-- Rails API docs - ActiveRecord::Associations::ClassMethods
The automatic guessing of the inverse association uses a heuristic based on the name of the class, so it may not work for all associations, especially the ones with non-standard names. -- Rails API docs - ActiveRecord::Associations::ClassMethods
class Pet < ApplicationRecord
belongs_to :owner, class_name: 'User'
end
class User < ApplicationRecord
has_many :pets
end
pet.owner
,即使我们已经加载了该记录,它也可能会导致数据库命中。
inverse_of
选项:
class Pet < ApplicationRecord
belongs_to :owner, class_name: 'User', inverse_of: :pets
end
class User < ApplicationRecord
has_many :pets, inverse_of: :owner
end
owner
记录,那么
pet.owner
将指向相同的
owner
。
inverse_of
没有什么害处,因此可以在不确定的每种情况下进行设置。您还可以通过查看
accessing the assocation creates a DB query via the console或在测试套件中使用
shoulda-matchers来手动测试是否需要。
关于ruby-on-rails - 从Rails 5开始,何时:inverse_of necessary to set manually?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106622/
是 reducer 之类的Redux用 ReactJS 开发时真的很有必要? 这只是设计更简洁代码的一种方式吗? 如果有,什么时候? 最佳答案 不,reducers 或 Redux 不是必需的。 Va
查看以下code : 'use strict'; const {Builder, By, Key, until} = require('..'); const {Options} = require(
我正在尝试将一组不相交的 Maven 项目链接到一个标准的多模块项目中。 有趣的是,模块目前没有按自然层次结构排列。如果我与父 pom 链接在一起,那么在我添加 relativePaths 之前 re
我有一个四核处理器,我真的很想在运行快速模拟时利用所有这些内核。问题是我只熟悉实验室中的小型 Linux 集群,而我在家里使用的是 Vista。 对于使用 C 或 Java 进行多核编程,我想研究哪些
假设我有一个 TADOQuery 对象,我在程序中将其重复用于不同目的。完成后是否需要显式清理参数?或者当我清除 SQL 时会自动发生这种情况吗? 例如 adoGenericQuery.SQL.T
我最近在几个不同的地方看到了类似这样的评论:“我在学校学到了递归,但从那以后从未使用过它或感觉需要它。” (递归似乎是某些程序员群体中“书本学习”的流行示例。) 确实,在 Java 和 Ruby[1]
我目前正在试验 tensorflow 分布,我想知道是否有必要包含参数服务器。 我使用的方法是 tf.estimator.train_and_evaluate。我的设置是在三台服务器上运行一台主服务器
http://play.golang.org/p/Xn3Qw7xAi3 很难理解 channel 。 我有 func main() { in := make(chan int) out :=
通读React - Basic Theoretical Concepts以及即将推出的React Fiber Architecture ,记忆化似乎在 React 数据处理逻辑以及不可变数据存储中发挥
我正在使用koa-routers来处理向第三方api发送电子邮件请求的路由。我是否正确处理错误?我需要退货吗?我应该返回ctx.response吗?我看到一些以func next()结尾的示例。但是,
我正在使用 rails 3 下的 devise 身份验证插件。目前,我已禁用电子邮件确认,因此注册非常简单快捷。 我想知道是否需要某种验证码来保护网站免受机器人攻击。我想避免让我的数据库充满虚假用户,
我正在探索 JavaScript 中的继承概念,但我认为我遗漏了一些东西。 我的目标:我想创建一个继承自另一个对象的对象。JavaScript,我认为我遗漏了一些东西。 例如,我创建了一个继承自对象“
Java 使用 Cipher类作为特定密码实现的抽象。在我的项目中,我主要使用对称 block 密码(AES、Twofish、3DES 等),我正在寻找一种方法来动态创建/初始化任何可能的对称 blo
我目前必须学习Java JDBC。 今天我了解了如何从 JDBC 中调用存储过程。 当我有一个像这样的存储过程时,我没有得到... CREATE PROCEDURE demo.get_count_fo
我目前正在优化我的应用程序。我的表结构简化如下: 主类别 姓名 位置 有子类别 子类别 姓名 位置 属于MainCategory 现在,如果用户在第一个 View Controller 中选择一个主要
我正在阅读教程以了解多线程,并且到处都看到人们重写 run 方法。我不清楚from the doc This class represents an activity that is run in a
在this文档的一部分,提到 nlp.pipe() 并行工作,并给出了以下示例: for doc in nlp.pipe(texts, batch_size=10000, n_threads=3):
只是非常肤浅地检查了 Android 开发,似乎大多数人都在使用 Java。然而 Android includes a set of C/C++ libraries used by various c
好的,所以我有这个标准查询来为用户获取消息 $s=$this->select()->where("to=?",$user->id)->orWhere("from=?",$user->id); 它在 t
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是一名优秀的程序员,十分优秀!