代码之家  ›  专栏  ›  技术社区  ›  Adrian Serafin

如何使这个函数HTML安全?

  •  1
  • Adrian Serafin  · 技术社区  · 15 年前

    我正在编写呈现HTML表头的帮助程序

    def display_standard_table(columns)
      content_tag :table do
        content_tag :thead do
          content_tag :tr do
            concat columns.collect { |column| content_tag(:th, 'Header'.html_safe) }
          end
        end
      end
    end
    

    HTML输出被转义:

    <table><thead><tr>&lt;th&gt;Header&lt;/th&gt;&lt;th&gt;Header&lt;/th&gt;</tr></thead></table>
    

    我怎样才能让它不受伤害?

    [解决方案]

    def display_standard_table(columns, objects = [])
      content_tag :table do
        content_tag :thead do
          content_tag :tr do
            columns.collect { |column| content_tag(:th, column[:display_name]) }.join()
          end
        end
      end
    end
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Reactormonk    15 年前

    concat join