1

名前の競合を防ぐために、ApplicationHelper にいくつかの優れたヘルパー メソッドthree_columnsがありましたが、これを独自のクラスに分離したいと考えています。

# In my ApplicationHelper I have this:
def three_columns(&block)
  ThreeColumns.new(&block)
end

# And in a separate file:
class ThreeColumns
  include ActionView::Context
  include ActionView::Helpers::TagHelper

  def initialize(&block)
    content_tag(:div, class: :three_columns) do
      capture(self, &block)
    end
  end
end

のように使用したいの<%= three_columns { .. } %>ですが、次のエラーが発生します。

undefined method `capture_haml' for #<ThreeColumns:0x007fa5a235a030 @output_buffer=nil>

では、ThreeColumns クラスで HAML を利用できるようにするにはどうすればよいでしょうか。

ありがとうございました。

4

0 に答える 0