使设计警报不可接受 - 语法错误

时间:2013-09-15 20:35:41

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

我试图让我的设计警报不予受理。根据引导程序文档,我认为需要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 %>

没有数据关闭代码工作正常,但不能解雇。

以下是语法错误:

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

数据解除的重点:“警告”是根据引导按钮使其与X关闭。这包括一个“X”按钮,如何修复语法错误并包含“X”?

2 个答案:

答案 0 :(得分: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 %>

答案 1 :(得分:0)

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

这应该有效