为什么我应该使用content“u标签而不是”标签;正规的;html?

为什么我应该使用content“u标签而不是”标签;正规的;html?,html,ruby-on-rails,ruby-on-rails-3,Html,Ruby On Rails,Ruby On Rails 3,我知道RubyonRails中有一个使用content_标记函数的选项,这有助于生成html标记。 我工作的一家公司的一些rails开发人员告诉我,这是一种“方便且适当”的方式,我不应该为了生成div而编写“本机”html。。。 这是真的吗?它是一种rails标准吗?它是否与性能问题或渲染速度有关 我附上以前代码的代码: <div class="alert alert-<%= key %>"><%= value %></div> 以及ra

我知道RubyonRails中有一个使用content_标记函数的选项,这有助于生成html标记。 我工作的一家公司的一些rails开发人员告诉我,这是一种“方便且适当”的方式,我不应该为了生成div而编写“本机”html。。。 这是真的吗?它是一种rails标准吗?它是否与性能问题或渲染速度有关

我附上以前代码的代码:

<div class="alert alert-<%= key %>"><%= value %></div>  

以及rails函数的用法

<%= content_tag(:div, value, class: "alert alert-#{key}") %>

在我看来,第一个代码漂亮、易懂、直观,比第二个代码更重要。。
您对此有何看法?

当您在ruby代码中以编程方式生成HTML时,能够使用content_标记会有所帮助,例如:helpers和presenters

在我看来,我通常不会在项目的布局和模板中使用content_标记——我认为这无助于编码的可读性。在这里,我看不到生产率或绩效有任何提高


但是:建议:如果这是您的团队已经标准化的内容,那么请与团队合作。

这是一种帮助方法,可以帮助您简化HTML生成。你把你想用的东西传进来,它会为你吐出HTML。它基本上是为您构建的,虽然我从未使用过它们,但我宁愿自己编写,因为它只需要键入helper方法调用:)@Jesse good call,如果这是您的团队正在使用的,请遵守约定

除了Project和Rails标准之外,安全性是必须使用content\u标记的另一个原因

我觉得内容标签更好的两个快速原因

  • Rails的视图文件位于从Ruby生成的嵌入式Ruby(意思是)HTML页面中。因此,像content_标记这样的助手方法可以帮助您从ERB生成HTML

  • 当直接使用HTML(本机样式)硬编码时,它容易受到跨站点脚本攻击(XSS)


  • 谢谢你把事情说清楚,我知道在标准问题上我应该和我的(临时)团队一起去。我只是想知道我得到的关于这个助手的解释是真的还是标准和习惯的问题。。。