2010-09-05 60 views

回答

31

Rails 3 release notes有很多很好的信息:

Railties现在不赞成:

  • RAILS_ROOT赞成Rails.root的,
  • RAILS_ENV赞成Rails.env,并
  • RAILS_DEFAULT_LOGGER赞成Rails.logger。

的ActionController:

  • 的cookie_verifier_secret已被弃用,现在取而代之的则是通过Rails.application.config.cookie_secret分配 ,搬进了自己的文件: 配置/初始化/ cookie_verification_secret.rb。
  • filter_parameter_logging不推荐使用 config.filter_parameters < <:密码。

的ActiveRecord

  • named_scope在Active Record类已被弃用,并已更名只是范围。
  • save(false)已弃用,有利于save(:validate => false)。
  • model.errors.on已被弃用,以支持模型。错误[]
  • 的ActiveRecord :: Base.colorize_logging和config.active_record.colorize_logging赞成的Rails :: LogSubscriber.colorize_logging的或config.colorize_logging

的ActionMailer已被弃用

  • :字符集,: 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内的邮件生成块
  • 内部的体的方法,以限定实例变量已被弃用(体{:的ivar =>值}),只需直接在方法中声明实例变量,并且它们将在视图中可用。
  • 不适合使用app/models的邮件程序,请改用app/mailers。
1

检查有关个人应用程序的具体细节将在其上运行的rails_upgrade插件(你可以在GitHub上找到它)的一个好方法,它将输出弃用通知和建议

一些有用的信息的列表也总结了这篇博客文章:http://www.simonecarletti.com/blog/2010/07/the-way-to-rails-3/

此外Railscasts有一堆对API的各种变更方式的电影。请前往Railscasts.com并浏览rails3标记下的电影。

+0

我想要详尽无遗。 – 2010-09-06 23:13:17

6

我不认为你会发现一个详尽的贬值列表,因为它确实取决于你升级哪个版本的导轨。例如,Rails 2.3.9(刚刚发布)在前一版本中增加了额外的折旧。

Rails Upgrade Handbook(如上所述)是一个很好的工具,包含12页的折旧警告和如何解决它们。我不认为他们会在这里发表,因为你应该放弃9美元,并下载PDF获得清单。包含的教程和其他信息使其非常值得。这是给我的。

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

+3

支付这样一个通常免费的信息是绝对荒谬的。 – 2010-09-15 06:21:16

+1

您应该浏览rails源代码并提取所有折旧并将它们发布到博客上,以便它们可以免费提供所有信息。 – 2010-09-15 16:32:25

+0

我现在确实这样做,认为还有更好的办法! – 2010-09-17 17:23:44

0

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

回复如果发现有用。

0

如何在ActiveRecord中禁用彩色日志记录without Rails而不是保持AR解耦,独立的ORM,它现在紧紧地绑定到Rails框架。

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

+0

我发现了如何在Rails之外禁用彩色日志记录: 'ActiveSupport :: LogSubscriber.colorize_logging = false' – 2012-10-28 19:01:53