Pictureクラスがあり、ロジックに応じて「description」データベース列の値を返すことをオーバーライドしたいと思います。
これはRailsで有効ですか?データベースの列の値を返す前に、常にクラスに依存してクラスメソッドを呼び出すことはできますか?
# database columns for Picture class
# description => String
# parent_id => Integer
class Picture < ActiveRecord::Base
def description
if parent_id.nil?
self.description
else
description = Picture.find(parent_id).description
end
end
end
Railsのソースコードのどこに答えがあるのかわからなかったので、助けていただければ幸いです。
ありがとう!
編集
子または親の画像であるかどうかに応じて、画像の説明を返そうとしています(ネストすることができます)。例は少し工夫されています...データベース列と同じ名前のメソッドを使用することでこれを簡単に回避できます...など
def my_description
if parent_id.nil? # return db data since no parent
self.description
else # return parent's description if one exists
description = Picture.find(parent_id).description
end
end
私はここで不必要に複雑にしようとしていると思います