2010-09-05 79 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