Post belongs_to :user
削除したユーザーの投稿を保持したいアプリケーションです。これにより、作成者が削除された投稿を表示すると、ビューでエラーが発生する可能性があります。私はこれをやろうとしました:
class Post < ActiveRecord::Base
belongs_to :author, class_name: 'User', foreign_key: 'user_id'
def author
author || NullUser.new
super
end
end
これにより、'stack level to deep' エラーが発生します。なんで?私はこれを行うことができます:
class Post < ActiveRecord::Base
belongs_to :user
def author
user || NullUser.new
end
def author=(user)
self.user = user
end
end
しかし、このように私の連想を台無しにするのは正しくないようです。これについて最善の方法は何ですか?