簡體   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