ActionDispatch::Flash < Objec

pass temporary primitive-types (String, ArrayHash) between actions.

Anything you place in the flash will be exposed to the very next action and then cleared out.

用于增加通知,警告信息,例子:

def create
flash[:notice] = "Post successfully created"
redirect_to @post
end
 

模块ActionController::Flash里面有一个实例私有方法:

redirect_to(options = {}, response_status_and_flash = {})可以把flash信息做参数返回到下一个action.

例子:redirect_to(store_index_path, notice: "...")

ActionDispatch::Flash::FlashHash < Object 有20多个方法:

如alert, notice, 可以用chain方式写法:flash.notice = "..."

keep(k = nil):

Keeps either the entire current flash or a specific flash entry available for the next action:

flash.keep # keeps the entire flash 
flash.keep(:notice) # keeps only the "notice" entry, 
the rest of the flash is discarded

now() :只能用于在当前动作下使用

Sets a flash that will not be available to the next action, only to the current.

flash.now[:message] = "Hello current action"


ModuleActiveSupport::Rescuable::ClassMethods

用在对类的错误的营救:

rescue_from(*klasses, with: nil, &block)

Rescue exceptions raised in controller actions.

参数1:a series of exception classes or class names,

参数2: and a trailing :with option with the name of a method or a Proc object to be called to handle them. Alternatively a block can be given.

class ApplicationController < ActionController::Base
rescue_from User::NotAuthorized, with: :deny_access # self defined exception
rescue_from ActiveRecord::RecordInvalid, with: :show_errors
rescue_from 'MyAppError::Base' do |exception|
render xml: exception, status: 500
end
private
def deny_access
...
end
def show_errors(exception)
exception.record.new_record? ? ...
end
end

Rails 使用 ActiveSupport::Logger 类把信息写入日志。

在log文件内隐藏着development.log, test.log.

guide指导:http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger

每一个控制器都有logger属性,可以在其中的action中增加logger.XXX()方法。

 logger.debug "New article: #{@article.attributes.inspect}"

Sending Messages

To write in the current log use the logger.(debug|info|warn|error|fatal) from within a controller, model or mailer。控制器,模块,邮件模块,都可以添加logger.xxx()方法。

3-30 flash(api),rescue_from(); logger简介的更多相关文章

  1. 没有任何秘密的 API:Vulkan* 简介

    Vulkan 被视作是 OpenGL 的后续产品. 它是一种多平台 API,可支持开发人员准备游戏.CAD 工具.性能基准测试等高性能图形应用. 它可在不同的操作系统(比如 Windows*.Linu ...

  2. KnockoutJS 3.X API 第一章 简介

    本文纯正翻译自官网API文档.其中包含一下个人理解. 官网API地址:http://knockoutjs.com/documentation/introduction.html 简介 Knockout ...

  3. 0601-Zuul构建API Gateway-API gateway简介、基础使用、路由配置、负载配置

    一.API Gateway简介 参看:http://www.cnblogs.com/bjlhx/p/8794437.html 二.zuul简介[路由器和过滤器:Zuul] 在微服务架构的组成部分进行路 ...

  4. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  5. Android开发-API指南-Android简介

    Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...

  6. JDK Logger 简介 (zhuan)

    http://antlove.iteye.com/blog/1924832 ******************************************* 一 简述 java.util.log ...

  7. 22 | 从0到1:API测试怎么做?常用API测试工具简介

  8. Java的常用API之包装类简介

    包装类 包装类: 基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这 ...

  9. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

随机推荐

  1. python+Django框架运用(四)

    Django后台管理 基本配置 默认登录地址:http://127.0.0.1:8000/admin 创建后台管理员: python3  ./manage.py  createsuperuser # ...

  2. MySQL分区(Partition)功能

    引用地址:http://blog.csdn.net/tjcyjd/article/details/11194489 自5.1开始对分区(Partition)有支持 = 水平分区(根据列属性按行分)=举 ...

  3. RabbitMQ-C 客户端接口使用说明

    rabbitmq-c是一个用于C语言的,与AMQP server进行交互的client库.AMQP协议为版本0-9-1.rabbitmq-c与server进行交互前需要首先进行login操作,在操作后 ...

  4. Arduino使用HC05蓝牙模块与手机连接

    Arduino使用HC05蓝牙模块与手机连接 一切都是最好的选择 首先是线路连接,一定不要接错了 Arduino 代码 #include <SoftwareSerial.h> // Pin ...

  5. 如何在 Linux 中将文件编码转换为 UTF-8

    一个文件:vim 文件名.txt输入 :e ++enc=gbk 强制用gbk打开输入 :w ++enc=utf8 转换到utf8保存. 多个文件:for i in *.txt; do iconv -f ...

  6. 04:sqlalchemy操作数据库

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  7. 02: Redis缓存系统

    目录: 1.1 在centos6.5中安装Redis 1.2 Redis的简介及两种基本操作 1.3 Redis对string操作(第一类) 1.4 redis对Hash操作,字典格式(第二类) 1. ...

  8. 20145301赵嘉鑫 《网络对抗》Exp9 Web安全基础实践

    20145301赵嘉鑫 <网络对抗>Exp9 Web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击原理:SQL 是一门 ANSI 的标准计算机语言,用来访 ...

  9. hash-补做

    题目 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号相加 ...

  10. [noip模拟题]LGTB 玩THD

    LGTB 最近在玩一个类似DOTA 的游戏名叫THD 有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi 每一秒,他都可以攻击任意一个活着的 ...