gpt4 book ai didi

ruby-on-rails-3 - 嵌套的 content_tag 在简单的帮助程序中抛出未定义的方法 `output_buffer=`

转载 作者:行者123 更新时间:2023-12-03 09:40:17 26 4
gpt4 key购买 nike

我正在尝试创建一个简单的 View 助手,但是一旦我尝试嵌套几个内容标签,它就会抛出

NoMethodError: undefined method `output_buffer=' for

def table_for(list, &proc)
t = Table.new
proc.call(t)
t.render_column(list)
end

class Table
include ActionView::Helpers::TagHelper

attr_accessor :columns, :block

def initialize
@columns = Array.new
end

def col(name)
@columns << name
end

def render_column(list)
content_tag :table do
list.each do |c|
content_tag :td, c
end
end
end
end

有什么问题的提示吗?我还看到有一个 XmlBuilder 是否更适合我的目的?

最佳答案

ActionView::Base 内置了 Context 模块,它提供了方法 output_buffer() 和 output_buffer=()。

因此,您可以通过让您的类(class)执行以下操作来解决您的问题:

include ActionView::Context

或者更简单:
attr_accessor :output_buffer

关于ruby-on-rails-3 - 嵌套的 content_tag 在简单的帮助程序中抛出未定义的方法 `output_buffer=`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4633493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com