Flash msg可选参数

时间:2012-03-18 14:29:33

标签: ruby-on-rails

如何将可选参数传递给flash消息?

我正在使用Twitter Bootstrap警报消息,我想根据我在控制器中设置的参数或内容将“.alert-block”css类添加到消息中。

感谢。


这是我的解决方案:

flash[:success_block] = "<h4>Bla blah.</h4> <p>Blah blah.</p>"



<% flash.each do |name, msg| %>

  <% block = true if name.to_s.split('_').last == 'block' %>
  <% name = name.to_s.split('_').first if block %>

  <div class="alert fade in alert-<%= name %> <%= 'alert-block' if block %>">
    <a class="close" data-dismiss="alert">×</a>
    <%= msg.html_safe %>
  </div>

<% end %>

1 个答案:

答案 0 :(得分:0)

最佳做法是将flash消息映射到twitter bootstrap提供的不同警报类型(即flash [:info]到.alert-info,flash [:success to alert-success] ...)

您不能将参数传递给Flash变量,但您可以通过视图/布局中的helper_method访问控制器的实例变量,甚至方法。