Mongoid リレーションで null オブジェクト パターンをどのように実装しますか?
Class Owner
include Mongoid::Document
embeds_one :preference
end
ほとんどの所有者はプリファレンスを持たないため、Ben Orenstein の優れた講演で説明されているように、代わりに NullPreference を使用してもらいたいと考えています。
私が欲しいのは次のようなものです:
class NullPreference
def name
'no name'
end
end
owner = Owner.new
preference = owner.preference
preference.name
=> 'no name'
ActiveRecord で同じことに関する関連する質問を見つけましたが、回答はありません。
編集:私はMongoid 2.6を使用しています。それ以外の場合は、実数autobuild: true
を使用して取得し、代わりにデフォルトを使用できます。 Preference