0

我有一个基本演示者,主要用于 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
4

1 回答 1

1

您可以避免一些重复,如下所示:

def self.help
  Helper.instance
end

def help
  self.class.help
end
于 2012-05-10T04:26:34.710 回答