2012-05-09 74 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