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>

那么我必须做些什么才能使 HAML 的东西对我的 ThreeColumns 类可用?

谢谢你。

4

0 回答 0