2012-05-09 30 views
0

我有一个基本演示者,主要用于JSON和CSV类型演示。我遇到了一个我不确定如何处理的问题。如果我有一个类方法的PhotoPresenter我不能访问实例方法的帮助,所以我不得不创建self.help方法,但我认为这吸收..任何想法如何避免与实例和类级方法重叠。也许只是太累了,太傻了吧Ruby/Rails - 演示者类类和实例方法

class Presenter 
    include Rails.application.routes.url_helpers 

    def self.as_collection(collection) 
    collection.collect{|object| self.new(object)} 
    end 

    def help 
    Helper.instance 
    end 

    def self.help 
    Helper.instance 
    end 

    class Helper 
    include Singleton 
    include ActionView::Helpers::TextHelper 
    include ActionView::Helpers::TagHelper 
    include ActionView::Helpers::UrlHelper 
    end 

end 

回答

1

您可避免一些重复如下:

def self.help 
    Helper.instance 
end 

def help 
    self.class.help 
end 
+0

酷谢谢!我很感激。 – bokor