`
hellosoft
  • 浏览: 54820 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

升级 到 Rails 2.0 之前的准备动作

阅读更多
1. 创建文件:lib/tasks/rails.rake
desc "Checks your app and gently warns you if you are using deprecated code."
task :deprecated => :environment do
  deprecated = {
    '@params'    => 'Use params[] instead',
    '@session'   => 'Use session[] instead',
    '@flash'     => 'Use flash[] instead',
    '@request'   => 'Use request[] instead',
    '@env' => 'Use env[] instead',
    'find_all'   => 'Use find(:all) instead',
    'find_first' => 'Use find(:first) instead',
    'render_partial' => 'Use render :partial instead',
    'component'  => 'Use of components are frowned upon',
    'paginate'   => 'The default paginator is slow. Writing your own may be faster',
    'start_form_tag'   => 'Use form_for instead',
    'end_form_tag'   => 'Use form_for instead',
    ':post => true'   => 'Use :method => :post instead'
  }

  deprecated.each do |key, warning|
    puts '--> ' + key
    output = `cd '#{File.expand_path('app', RAILS_ROOT)}' && grep -n --exclude=*.svn* -r '#{key}' *`
    unless output =~ /^$/
      puts "  !! " + warning + " !!"
      puts '  ' + '.' * (warning.length + 6)
      puts output
    else
      puts "  Clean! Cheers for you!"
    end
    puts
  end
end

2. 执行 #railsapp>rake deprecated
  可以查看升级所需要更改的。即使现在不马上升级,到是可以随时注意一些写法。
 
3.使用插件 willpaginate
# install
#railsapp>ruby /script/plugin install svn://errtheblog.com/svn/plugins/will_paginate

   # 替换以前的代码
@skus_pages,@skus = paginate :sku, :conditions => sql , :per_page => 30 ,rder => "skuid"
替换为:
@skus = Sku.paginate :conditions => sql , :per_page => 30 ,rder => "skuid",:page=>params["page"]
  记得要增加:page=>params["page"],以前是不用的。

可能你会发现@skus_pages不见了,不用担心,它已经集成到了@skus中了
pages.current.previous => objs.previous_page
pages.current_page.number => objs.current_page
pages.current.next => objs.next_page

没有了pages.last , 但是可以考虑使用 objs.page_count
没有了pages.first , 但是可以考虑直接使用 1

willpaginate 多执行了一次统计总记录条数的sql语句,所以可以直接使用objs.total_entries 获取总记录数量。


参考文档:
http://www.slashdotdash.net/articles/2007/12/03/rails-2-upgrade-notes
http://errtheblog.com/posts/56-im-paginating-again
http://www.iteye.com/news/567
分享到:
评论

相关推荐

    Ruby on Rails 2.0的新特性介绍

    Rails以其快速的版本迭代和创新的功能而闻名,从1.0到2.0的升级也不例外。这次更新带来了许多新特性,提升了开发效率和用户体验。 首先,Rails 2.0 对RESTful架构进行了深入优化。REST(Representational State ...

    好用的rails 2.0 Api 文档

    Rails的路由系统(routes.rb)将URL映射到控制器的特定动作上,这允许开发者灵活地定义URL结构。通过资源路由,可以轻松实现RESTful操作。 **7. ActiveRecord查询接口** Rails 2.0提供了ActiveRecord查询接口...

    rails2.0的配置方法

    ### Rails 2.0 的配置方法 #### 一、引言 Rails 2.0作为Ruby on Rails(简称ROR)框架的一个重要版本,在Web开发领域具有不可忽视的地位。本篇将详细介绍Rails 2.0的配置过程及注意事项,帮助初学者快速上手并深入...

    ruby on rails2.0本地安装包

    这个“ruby on rails2.0本地安装包”适用于Windows和Linux操作系统,特别是针对网络速度较慢的用户设计,方便他们离线安装Rails 2.0.2版本。 在Rails 2.0版本中,有几个关键性的改进和特性: 1. **ActiveRecord**...

    Rails2.0资料

    - **更加强大的迁移工具**:Rails 2.0对数据库迁移工具进行了升级,使其更加灵活易用,支持更多的数据库操作,比如添加索引、删除列等。 ##### 1.4 固定装置(Fixtures)支持 - **Foxy Fixtures**:Rails 2.0引入了...

    jRuby On Rails WEB2.0

    《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java平台的实践指南 《jRuby on Rails WEB2.0》是一部由Ola Bini撰写的书籍,深入探讨了如何将Ruby on Rails这一敏捷开源框架与Java平台相结合,以构建高效、灵活的...

    rails2.0下实现《rubyonrails》中的mybook实例

    在Ruby on Rails 2.0框架下,我们经常会遇到创建和操作数据库的需求。在这个实例中,我们将探讨如何在Rails应用中使用SQLite数据库,一个轻量级且易于上手的数据库管理系统,尤其适合开发阶段。标题提到的“mybook”...

    Apress - Practical JRuby on Rails Web 2.0 Projects (Sep 2007)

    《JRuby on Rails Web 2.0 实用项目》 英文PDF + 源码

    Rails API 文档

    Rails 2.0文档也会介绍如何将应用部署到服务器,包括配置Capistrano、 Passenger等部署工具。 10. **国际化(I18n)** Rails 2.0引入了强大的国际化支持,使得应用可以轻松地适应多种语言环境。 通过阅读和查阅...

    rails 2.0.2 分页 需另外下载插件

    在Ruby on Rails框架中,`Rails 2.0.2`是一个较早的版本,而分页功能在那个时期并不像现在的Rails应用那样内置在框架内。为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在...

    JRuby on Rails Web 2.0 Projects

    ### JRuby on Rails Web 2.0 Projects:将Ruby on Rails引入Java平台 #### JRuby简介 JRuby是一种Ruby语言的实现,它运行在Java平台上,利用了Java虚拟机(JVM)的强大功能。JRuby使得开发人员能够在Java环境中使用...

    the rails way

    书中详细介绍了Rails的路由系统,这是一个关键组件,负责将URL映射到控制器和动作上。理解Rails的路由机制对于构建灵活和可维护的应用程序至关重要。 #### Refactoring to Resources 讨论了如何利用CRUD(Create, ...

    JavaEye2.0_on_rails

    ### JavaEye2.0_on_rails:敏捷Web开发实践与Ruby on Rails的应用 #### 敏捷软件开发方法 - **背景**:传统软件工程方法在实际应用中面临着项目延期、成本超支以及软件质量不高的问题。为了克服这些挑战,业界提出...

Global site tag (gtag.js) - Google Analytics