Rails 3弃用了方法和API

在哪里可以找到已弃用的方法,API等列表,以便从Rails 2.x升级到Rails 3?

Rails 3发行说明有很多好的信息:

Railties现在弃用:

  • RAILS_ROOT支持Rails.root,
  • RAILS_ENV支持Rails.env,和
  • RAILS_DEFAULT_LOGGER支持Rails.logger。

ActionController的:

  • cookie_verifier_secret已被弃用,现在它通过Rails.application.config.cookie_secret分配并移入其自己的文件:config / initializers / cookie_verification_secret.rb。
  • 不推荐使用filter_parameter_logging,而使用config.filter_parameters <<:password。

ActiveRecord的

  • 不推荐使用Active Record类中的named_scope,并且已将其重命名为范围。
  • 不推荐使用save(false),而是支持save(:validate => false)。
  • 不推荐使用model.errors.on,而选择model.errors []
  • 不推荐使用ActiveRecord :: Base.colorize_logging和config.active_record.colorize_logging,转而使用Rails :: LogSubscriber.colorize_logging或config.colorize_logging

的ActionMailer

  • :charset,:content_type,:mime_version,:implicit_parts_order全部弃用,有利于ActionMailer.default:key => value样式声明。
  • 不推荐使用Mailer动态create_method_name和deliver_method_name,只需调用method_name,它现在返回一个Mail :: Message对象。
  • 不推荐使用ActionMailer.deliver(message),只需调用message.deliver。
  • 不推荐使用template_root,通过邮件生成块中的format.mime_type方法将选项传递给proc内的render调用
  • 不推荐使用定义实例变量的body方法(body {:ivar => value}),只是直接在方法中声明实例变量,它们将在视图中可用。
  • 不推荐使用app / models中的邮件程序,而是使用app / mailers。

我认为您不会找到详尽的折旧列表,因为它实际上取决于您要升级的rails的版本。 例如,Rails 2.3.9(刚刚发布)在之前的版本中增加了额外的折旧。

Rails升级手册 (如上所述)是一个很棒的工具,包含12页折旧警告以及如何解决它们。 我认为它们不会在这里发布,因为你应该只需要9美元并下载pdf来获取列表。 包含的教程和其他信息使它非常值得。 这是给我的。

如果您不想支付好的信息,那么只需为您的特定应用程序运行rails_upgrade插件 。 有关插件如何在rails升级插件github页面上的更多信息。

检查单个应用程序的详细信息的一种好方法是在其上运行rails_upgrade插件(您可以在GitHub上找到它),它将输出一个弃用通知和建议列表

本博文中还总结了一些有用的信息: http : //www.simonecarletti.com/blog/2010/07/the-way-to-rails-3/

此外,Railscasts还有许多关于API各种变化方面的电影。 转到Railscasts.com并浏览rails3标签下的电影。

我发现购买http://www.railsupgradehandbook.com/非常有价值。

另一个对活动记录进行弃用的地方是(http://m.onkey.org/active-record-query-interface)。

如果发现有用则回复。

如何在没有Rails的情况下禁用ActiveRecord中的着色记录? 它不是保持AR解耦,独立ORM,而是与Rails框架紧密绑定。

将ActiveRecord :: Base.colorize_logging移动到Rails :: LogSubscriber.colorize_logging只是糟糕的设计和错误的方向,不是吗?