ruby-on-rails – 如何使用Twitter Bootstrap Rails gem定义Flas
我试图在控制器中设置闪存通知,但似乎我只能定义:通知.当我尝试定义:错误或flash [:错误]我遇到了一大堆错误.我目前有这个工作,但所有的消息显然是通知类型,而不是错误或警告.我想知道如何设置错误或警告,而不是通知.我正在使用rails 3.2和twitter bootstrap rails gem
在application.html.erb中 <%= bootstrap_flash %> 在manuals_controller.rb class ManualsController < ApplicationController def create respond_to do |format| format.html { redirect_to root_url,notice:'MyManual was successfully created.' } end end end 解决方法
您正在使用seyhunak的
twitter-bootstrap-rails宝石的闪光助手.而不是使用帮助器,您可以自己设置代码,看看一切如何工作.
以下是我如何使用Twitter Boostrap设置Rails Flash消息. Rails使用:通知和:作为闪烁消息键提醒. Twitter Bootstrap提供了一个基类.alert和其他类.alert-success和.alert-error(参见关于警报的Bootstrap文档).需要一点解析才能获得一个Rails“通知”消息,使用Twitter Bootstrap“alert-success”风格进行风格化.任何其他消息(包括Rails“警报”消息)都将使用Twitter Bootstrap“alert-error”风格进行风格化. 默认情况下,Twitter Bootstrap将绿色背景应用于.alert-success,并将红色背景应用于.alert-error. Twitter Bootstrap提供了具有蓝色背景的第三类.alert-info.有一点黑客,可以使用自定义名称创建一个Rails flash消息,例如:info,将显示与Bootstrap .alert-info类.但是,遵循仅使用“警报”和“通知”的Rails约定是明智的.早期版本的Rails使用“错误”,但目前的做法是使用“alert”而不是“error”. 您可以包括直接在应用程序布局文件中显示Flash消息的代码,也可以创建部分.这是一个部分的例子. 首先,应用程序布局中有哪些: # app/views/layouts/application.html.erb . . . <%= render 'layouts/messages' %> . . . 接下来,包含在应用程序布局中的部分: # app/views/layouts/_messages.html.erb # Rails flash messages styled for Bootstrap 3.0 # works with Rails 4.0 or Rails 4.1 <% flash.each do |name,msg| %> <% if msg.is_a?(String) %> <div class="alert alert-<%= name.to_s == 'notice' ? 'success' : 'danger' %>"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <%= content_tag :div,msg,:id => "flash_#{name}" %> </div> <% end %> <% end %> 并且在控制器中设置两个不同的闪存消息的示例: class VisitorsController < ApplicationController def new flash[:notice] = 'Welcome!' flash[:alert] = 'My birthday is soon.' end end 这个例子来自我写的一篇深入的文章: Twitter Bootstrap and Rails 对于可以容纳四种不同的Flash消息类型(成功,错误,警报,通知)的替代方案,请参阅Rails Flash Messages using Twitter Bootstrap的示例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |