繁体   English   中英

Ruby / Rails-Presenter类的类和实例方法

[英]Ruby/Rails - Presenter class class and instance methods

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

您可以避免某些重复操作,如下所示:

def self.help
  Helper.instance
end

def help
  self.class.help
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM