本文介绍了Rails 3不推荐使用的方法和API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Where can one find a list of deprecated methods, APIs, etc, in order to upgrade from Rails 2.x to Rails 3?

推荐答案

有很多有用的信息:

现在不再支持铁路


  • RAILS_ROOT而支持Rails.root,

  • RAILS_ENV赞成Rails.env,

  • RAILS_DEFAULT_LOGGER赞成Rails.logger。

ActionController:

ActionController:


  • 已弃用cookie_verifier_secret,现在通过Rails.application为它分配了
    。 config.cookie_secret并移至其自己的文件中:
    config / initializers / cookie_verification_secret.rb。

  • filter_parameter_logging已过时,取而代之的是
    config.filter_parameters<< :密码。

ActiveRecord

ActiveRecord


  • named_scope

  • save(false)已被弃用,而倾向于save(:validate => false)。
  • $不推荐使用b $ b
  • model.errors.on,而推荐使用model.errors []
  • 不推荐使用
  • ActiveRecord :: Base.colorize_logging和config.active_record.colorize_logging,而推荐使用Rails :: LogSubscriber.colorize_logging或config.colorize_logging

  • named_scope in an Active Record class is deprecated and has been renamed to just scope.
  • save(false) is deprecated, in favor of save(:validate => false).
  • model.errors.on is deprecated in favor of model.errors[]
  • ActiveRecord::Base.colorize_logging and config.active_record.colorize_logging are deprecated in favor of Rails::LogSubscriber.colorize_logging or config.colorize_logging

ActionMailer

ActionMailer


  • :charset,:content_type,:mime_version,:implicit_parts_order不推荐使用,而推荐使用ActionMailer.default:key =>值样式声明。

  • 邮件程序动态create_method_name和deliver_method_name是不推荐使用,只需调用method_name即可,该方法现在返回Mail :: Message对象。

  • 不推荐使用ActionMailer.deliver(message),只需调用message.deliver。

  • template_root已弃用已过时,将选项从邮件生成块内的format.mime_type方法传递给proc内部的渲染调用

  • 不推荐使用用于定义实例变量的body方法(body {:ivar => value }),只需直接在方法中声明实例变量,它们就可以在视图中使用。

  • 不推荐使用app / models中的邮件程序,而应使用app / mailers。

  • :charset, :content_type, :mime_version, :implicit_parts_order are all deprecated in favor of ActionMailer.default :key => value style declarations.
  • Mailer dynamic create_method_name and deliver_method_name are deprecated, just call method_name which now returns a Mail::Message object.
  • ActionMailer.deliver(message) is deprecated, just call message.deliver.
  • template_root is deprecated, pass options to a render call inside a proc from the format.mime_type method inside the mail generation block
  • The body method to define instance variables is deprecated (body {:ivar => value}), just declare instance variables in the method directly and they will be available in the view.
  • Mailers being in app/models is deprecated, use app/mailers instead.

这篇关于Rails 3不推荐使用的方法和API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 11:57