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 に答える