rails 4 什么时候需要"inverse_of"?

rails 4 When is "inverse_of" required?

我是第一次使用 rails 4 开发网络应用程序。我正在使我所有的模型关联成为双向的,并在任何允许的地方使用 inverse_of。

通过阅读文档,我形成了这样的印象,即这可能是最佳做法,但从来没有在任何地方真正清楚地说明这一点。

如果有经验的 rails 开发人员在这方面提供任何一般性建议,我将不胜感激。我希望这个问题不会太模糊,在这里没有价值。

谢谢!

更新:除了非标准名称之外,似乎还有两种主要的额外情况需要明确设置inverse_of:

  1. 对于 INVALID_AUTOMATIC_INVERSE_OPTIONS ( http://www.rubydoc.info/docs/rails/ActiveRecord/Reflection/AssociationReflection )
  2. 如果您接受嵌套属性 - 这是因为父对象尚未保存,因此没有 ID。参见 http://viget.com/extend/exploring-the-inverse-of-option-on-rails-model-associations

通常需要设置反函数。好消息是在大多数情况下这是自动处理的。您通常只需要为与非标准名称的关联显式设置逆。您可以在 official documentation.

中找到更多信息