名前の競合を防ぐために、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 を利用できるようにするにはどうすればよいでしょうか。
ありがとうございました。