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只是糟糕的设计和错误的方向,不是吗?