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

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

我想要,比方说, ItemFeedInfo映射ItemFeedInfo guid->id (这样我可以区分新的和修改的项目)

我正在考虑创造

 class ItemFeedInfo belongs_to :Item end 

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

没关系。

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类中,但如果您实际上不需要执行此操作,则无关紧要。