Rails 5重定向通知样式

时间:2017-07-12 18:25:31

标签: ruby-on-rails

当用户创建故障单时,我的站点会重定向到故障单并显示通知,告知用户已创建故障单。目前它是没有造型的标准通知。

这是重定向的块 - 我需要在通知中添加一个类。怎么能实现这一目标?

redirect_to @ticket, notice: 'Ticket was successfully created.'

2 个答案:

答案 0 :(得分:6)

在标记中添加一个类,可能是div,然后将notice包装在那里,如:

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

但是,通常做的是将一个类分配给html标签,这样,如果flash消息是notice或其他,那么你就可以为每个类定义样式,比如:

<% flash.each do |key, message| %> 
  <p class="<%= key %>">
    <%= message %>
  </p> 
<% end %>

答案 1 :(得分:1)

在rails 5中,您可以使用&quot; add_flash_types&#39;方法。只需将其添加到ApplicationController并包含您想要的类型:

class ApplicationController < ActionController::Base
  add_flash_types :success, :warning, :danger, :info
控制器上的

使用适当的类型而不是&#39; notice&#39;:

redirect_to @ticket, success: 'Ticket was successfully created.'

然后您可以自动查看视图:

<% flash.each do |message_type, message| %>
  <div class="alert alert-<%= message_type %>">
    <%= message %>
  </div>
<% end %>

源: http://api.rubyonrails.org/v5.1/classes/ActionController/Flash/ClassMethods.html#method-i-add_flash_types