【问题标题】:Incorrect class displayed by erberb 显示的类不正确
【发布时间】:2014-08-16 04:18:21
【问题描述】:

我有以下代码:

<% event_class = "eventInfo individual")%>
<div class=<%= raw event_class %>>

在这种情况下,我希望呈现的 html

<div class="eventInfo individual">

但我得到了

<div class="eventInfo" individual="">

我该如何解决这个问题?

编辑:我得到了我想要的 HTML:

<%= content_tag(:div, nil, class: event_class) %>

我仍然会留下这个问题,以防有人想解决最初的问题。对我来说,这看起来像是 Rails 中的一个错误。

【问题讨论】:

    标签: html ruby-on-rails erb


    【解决方案1】:

    这不是错误,而是预期的行为,因为您没有将 erb 标记放在引号中。 标签中的所有内容都将在服务器端进行 ruby​​ 解释,因此您最终在 html 中得到的是

    <div class=eventInfo individual></div>
    

    这将是错误的 html,但现代浏览器有很多容忍度,并将其翻译成

    <div class="eventInfo" individual="">
    

    只要在你的erb标签周围加上“”就可以了

    <div class="<%= raw_event_info %>"></div>
    

    编辑:您的解决方案在各个方面都更好,因为您没有将 erb 与 html 混合。我只是想解释一下原来发生了什么;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 2018-06-11
      • 2015-05-06
      • 2012-09-02
      • 2013-07-05
      相关资源
      最近更新 更多