【问题标题】:Making devise alerts dismissible - syntax error使设计警报可忽略 - 语法错误
【发布时间】:2013-09-15 20:35:41
【问题描述】:

我试图让我的设计警报被忽略。根据引导文档,我认为 data-dismiss="alert" 是必需的:http://getbootstrap.com/2.3.2/components.html#alerts

但是,我尝试按照以下内容将其添加到我的应用程序布局中,但收到语法错误:

<% flash.each do |key, value| %>
        <%= content_tag(:div, value, class: "alert alert-#{key}", data-dismiss: "alert") %>
<% end %>

如果没有 data-dismiss,代码可以正常工作,但不可关闭。

这里是语法错误:

...rt alert-#{key}", data-dismiss: "alert") );@output_buffer.sa...
...                               ^ 

data-dismiss: "alert" 的重点是让它可以按照引导按钮用 X 关闭。这涉及到包含“X”按钮,如何修复语法错误并包含“X”?

【问题讨论】:

    标签: html ruby-on-rails ruby twitter-bootstrap devise


    【解决方案1】:

    变量和选项名称中不能有这样的连字符。

    尝试改用data 选项:

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

    这里有一个rails c 使用data 的小例子:

    2.0.0p247 :006 > content_tag :p, 'Foo', data: { test: 'bar' }
     => "<p data-test=\"bar\">Foo</p>"
    

    更新如果您想让它完全按照 Bootstrap 文档中的规定工作,试试这个:

    <% flash.except(:timedout).each do |key, value| %>
      <%= content_tag :div, class: "alert alert-#{key}", data: { dismiss: "alert" } do %>
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <%= value %>
      <% end %>
    <% end %>
    

    【讨论】:

    • 有效,但没有“x” - 你知道我如何在我的代码中像引导程序示例中那样在右侧添加一个“x”吗?
    • @SeanL 查看该页面上应该存在的&lt;button&gt; 标记:getbootstrap.com/2.3.2/components.html#alerts
    • 是的,但如果我这样做:
    • @SeanL 好吧,我回答了你的问题,即如何消除错误。但我更新了我的答案,以展示获得所需结果的一种方法。
    • 感谢您的帮助,我还将问题调整为您的完整答案,以使其对未来的用户更有价值。
    【解决方案2】:
    <%= content_tag(:div, value, class: "alert alert-#{key}", :"data-dismiss" => "alert") %>
    

    这应该可行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 2015-01-27
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多