flash

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

flash 会用 session 存储数据,每次请求都会清除掉 flash 里的数据,也就是 flash 数据只有在下一次请求里面用到 ... 设置 flash 跟设置 session 的方法差不多 ..

比如在这个 index 控制器方法里,我们用一下 flash 设置一个名字是 welcome 的数据 ... 它的值是 hello ~ ,这个 flash 数据在下次请求里面可以用到 ...

我们可以直接在这里用一个 redirect_to ,把用户重定向到一个地方 ... 地址使用 photo_path 这个助手方法 .. 把一个资源 id 交给它 ..

这个请求会用 photos 控制器的 show 方法来处理 ... 在这个方法里,可以把 :welcome 这个 flash 数据显示出来 ..

render plain: flash[:welcome]

回到浏览器 ... 访问一下 /photos ... 这个请求会用 index 方法处理,在这个方法里,设置了一条 flash 数据,名字是 welcome,然后把用户重定向到 photos/1 这个地址 .. . 这个地址用的是 show 方法来处理的,在这个方法里我们把 welcome 这个 flash 数据显示到了屏幕了 ...

所以在这里你会看到一个 hello ~ ... 再刷新一下 ... 再请求一下这个页面 ... 这样 flash 里的东西就被清除掉了 ... 所以就不会再显示 welcome 里的内容了 ...

keep

如果你打算为下一次请求保留 flash 里的数据 ... 可以使用它的 keep 方法 ...

在这个 show 方法里,用一下 flash.keep ,你可以把具体要保留的 flash 数据的名字交给这个方法,不指定的话会保留所有的 flash 数据 ..

flash.keep

回到浏览器 .. 再访问一下 /photos ... 重定向到 /photos/1 ... 会显示 welcome 这个 flash ,刷新一下页面 ... 仍然会显示这个 flash 内容 ...

flash《 Rails:控制器 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点