我的 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 类可用?
谢谢你。