我有一个基本的演示者,我主要用于JSON和CSV类型的演示。我被提出了一个我不确定如何处理的问题。如果我有一个带有类方法的PhotoPresenter,我无法访问实例方法帮助,所以我不得不创建self.help方法,但我认为这很糟糕。如何避免与实例和类级别方法重叠的任何想法。可能只是累了,对它很愚蠢
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
答案 0 :(得分:1)
您可以避免一些重复,如下所示:
def self.help
Helper.instance
end
def help
self.class.help
end