私はPost belongs_to :user
削除されたユーザの投稿を保持したいアプリケーションです。これにより、作成者が削除された投稿を表示するときにビューにエラーが発生する可能性があります。私はこれをやろうとしました:RailsでNullObjectパターンを実装する
class Post < ActiveRecord::Base
belongs_to :author, class_name: 'User', foreign_key: 'user_id'
def author
author || NullUser.new
super
end
end
これは「スタックレベルから深い」エラーを引き起こします。どうして?私はこれをすることができました:
class Post < ActiveRecord::Base
belongs_to :user
def author
user || NullUser.new
end
def author=(user)
self.user = user
end
end
しかし、私の団体にこのように混乱させるのは正しいとは思われません。これについては何が最善の方法ですか?
追記:NullObjectsに関連し、ちょうど出てきた、[ノーティー](https://github.com/avdi/naught)によってAvdi Grimm –