私はRailsアプリケーションに2つのクラスがあるとします。拡張Active Recordは、冗長性を減らすために
class Subject < ActiveRecord::Base
def children?
Subject.where(:parent_id => self.id).length > 0
end
def children
Subject.where(:parent_id => self.id)
end
end
class Region < ActiveRecord::Base
def children?
Region.where(:parent_id => self.id).length > 0
end
def children
Region.where(:parent_id => self.id)
end
end
はどのような冗長なクラスメソッドを軽減するための最良の方法だろうか?私は2つの新しいメソッドでActiveRecordを拡張できますか?もしそうなら、どのようにして2つの新しいメソッドを両方のクラスで利用できるように書くことができますか?
おかげで、 マイク
少しをリファクタリングすることができます 'children.size> 0 '=>' children.empty?' :) – fl00r
ええ、それは立派だ...良い点。私はあなたが '!children.empty?'を意味すると思っています、あるいはさらにもっと慣用的です。 'children.present? ' – idlefingers
+1の' present? ':D – fl00r