webcomic: 一个使用缓存构建的漫画站点。(rails2.0.2)
一.基本的管理系统
1.上传漫画
实现上传功能的插件:
ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/attachment_fu/
2.Comic模型
ruby script/generate scaffold Comic content_type:string filename:string
attachment fu 需要在模型中添加相应的字段:
t.integer :size
t.integer :width
t.integer :height
t.string :title
t.text :description
rake db:migrate
3.修改路由
添加路径前缀path_prefix:
map.resources :comics, :path_prefix => '/admin'
4.修改脚手架(Scaffolding)
对生产的一些页面做修改。
5.创建一个漫画
http://poignantguide.net/ruby/
6.简单的认证系统
需求:并不需要支持多用户,也不需要用户自动注册或者限制用户权限的功能;这时只需要单一的用户访问,并且防止其他用户对系统访问即可。
现在做一个简单的认证:在session变量中保存一些用来判断用户是否合法的数据即可。
7.限制访问
判断输入的密码是否正确。
二。向公众展现漫画
创建一个public 控制器
三。页面缓存(page cache)*
cache: page cache,Action Cache,Fragment Cache
- 开启缓存功能(chaches_page :method)
- 删除缓存(Sweeper)
总结:
通过attachment fu插件,快速实现图片上传功能。使用了RAILS的页面缓存功能。
三种缓存的适用场合:
- Page Cache : 当页面内容永不(或很少)改变或者不需要任何其他的处理(比如插入动态内容或身份认证)的情况
- Action Cache: 在页面中不需要加入任何动态内容,但每个请求都需要进行before,after,around过滤。
-
Fragment Cache:这种是三种缓存中最慢的,这种可以在页面中使用动态数据。