ビュー/ヘルパーで使用できるモデル名の特定の配列に対して、いくつかのカウントメソッドを動的に生成しようとしています。
# create dynamic count methods for each model we want
['model', 'other_model', 'next_model'].each do |name|
class_eval{
"def total_#{name.underscore}s_count
total_#{name.underscore}s_count ||= #{name.camelcase}.all.count
end"
}
end
ただし、いくつか質問があります。
- ビューでこれらのメソッドを呼び出せるようにするには、このコードをどこに配置する必要がありますか?
- これらのメソッドはどのクラスに追加されますか?たとえば、それらは多数のモデル用であるため、Userなどのクラスに属しているかどうかわからないため、どのように呼び出すのでしょうか。
- これを行うためのより良い方法はありますか?