flash详解和技巧

Rails中关于报错信息有专门的falsh接口,使用方式跟session很像。flash的翻译是一闪而过,作用也是如此:flash中存储的信息在下一个请求中用一下然后就自动清空。

实际操作:

原来的代码(注意如下是user局部变量而不是@user实例变量,这是因为该动作不需要对应的视图,且重定向页面时不需要显示对应的 @user.errors所以使用局部变量即可)

修改后的代码:

注意:redirect_to就是向浏览器发出下一个请求,那么flash保存的信息就会在下一个请求:root或者:login中用到

 

要展示这些flash信息就要全局的布局文件添加代码,如果flash不为空那就显示相应的内容:

 

填写错误用户名和密码提交之后报错如下:

 

我们添加一些样式:

如下:

同时我们刷新该页面重新发送一个请求或者点击另外一个链接"关于",这是新的一个请求,所以flash里的信息清空就不会在页面显示。

 

Flash信息老是需要我们刷新页面来取消显示很不好,所以下面来实现 flash 信息的自动消失。到 application.html.erb 中 </body> 的上面,添加如下红框js代码,让flash信息在页面停留4秒之后自动隐藏:

 

转载于:https://www.cnblogs.com/blueColdFire/p/5539741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值