如果您使用belongs_to而没有相应的has_one会发生什么?

yka*_*ich 12 activerecord ruby-on-rails

我有一个核心模型Item,以及一个从自定义源(想想,RSS提要)填充它的脚本.在Feed中,每个项目都标识为guid; 在我的系统中,Item只有一个自动生成的id主键.

我想让ItemFeedInfo地图guid->id(这样我可以区分新项目和修改项目)

我正在考虑创造

class ItemFeedInfo
  belongs_to :Item
end
Run Code Online (Sandbox Code Playgroud)

我宁愿不修改,Item因为它的定义在逻辑上是独立的.ItemFeedInfo然而,我可以找到使用的每个例子belongs_to,提到has_one对应物.需要吗?

Ori*_*rds 17

没关系.

belongs_to只需在ItemFeedInfo课程中添加一些方法.你知道什么时候做item_feed_info.items.find_all...这items只是一个在你打电话时动态添加的方法belongs_to.

如果您不修改Item类,那么您根本就不会在另一侧添加方法.你将无法做到item.item_feed_infos.find_all,因为没有添加has_many :item_feed_infos,该方法将不会被添加到Item类中,但如果你实际上不需要这样做,那就没关系了.