【发布时间】:2013-02-20 07:03:23
【问题描述】:
如何在 Mongoid 关系上实现空对象模式?
Class Owner
include Mongoid::Document
embeds_one :preference
end
大多数所有者没有偏好,因此我希望他们拥有 NullPreference,如 Ben Orenstein 的 excellent talk 中所述。
我想要的是这样的:
class NullPreference
def name
'no name'
end
end
owner = Owner.new
preference = owner.preference
preference.name
=> 'no name'
我在 ActiveRecord 中找到了一个相关的question,但没有答案。
编辑:我使用的是 Mongoid 2.6,否则我可以使用 autobuild: true 并获得 real Preference 并改用默认值。
【问题讨论】:
标签: ruby mongoid null-object-pattern