Подтвердить что ты не робот

Rails 3 устарели методы и API

Где можно найти список устаревших методов, API и т.д., чтобы перейти с Rails 2.x на Rails 3?

4b9b3361

Ответ 1

заметки о выпуске Rails 3 содержат много полезной информации:

Рейтинги теперь обесцениваются:

  • 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 устарел в пользу 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 = > .
  • Имя Mailer dynamic create_method_name и имя_доставки_домена устарели, просто вызовите имя метода, которое теперь возвращает объект Mail:: Message.
  • ActionMailer.deliver(message) устарел, просто вызовите message.deliver.
  • template_root устарел, передает параметры вызова рендеринга внутри proc из метода format.mime_type внутри блока генерации почты.
  • Метод body для определения переменных экземпляра устарел (body {: ivar = > value}), просто объявите переменные экземпляра в методе напрямую, и они будут доступны в представлении.
  • Mailers, находящиеся в приложении/моделях, устарели, вместо этого используйте app/mailers.

Ответ 2

Я не думаю, что вы найдете исчерпывающий список амортизаций, потому что это действительно зависит от того, какую версию рельсов вы обновляете. Например, Rails 2.3.9 (только что выпущенный) добавил дополнительные амортизации по сравнению с предыдущей версией.

Руководство по обновлению Rails (как упоминалось выше) - отличный инструмент и содержит 12 страниц предупреждений об амортизации и как их исправить. Я не думаю, что они будут опубликованы здесь, потому что вы должны просто отказаться от $9 и скачать pdf, чтобы получить список. Включенные в него учебные пособия и другая информация позволяют это сделать. Это было для меня.

Если вы не хотите платить за хорошую информацию, просто запустите rails_upgrade плагин для вашего конкретного приложения. Дополнительная информация о том, как плагин находится на странице rails upgrade plugin github.

Ответ 3

Хорошим способом проверки специфики отдельного приложения было бы запустить плагин rails_upgrade на нем (вы можете найти его в GitHub), он выведет список уведомлений об отказе и рекомендаций

Некоторая полезная информация также суммируется в этом сообщении в блоге: http://www.simonecarletti.com/blog/2010/07/the-way-to-rails-3/

Кроме того, Railscasts содержит множество фильмов по различным измененным аспектам API. Перейдите в Railscasts.com и просмотрите фильмы, записанные под тегом rails3.

Ответ 5

Здесь также можно найти другое место для активной записи (http://m.onkey.org/active-record-query-interface).

Ответ, если сочтет это полезным.

Ответ 6

Как отключить ведение журнала раскраски в ActiveRecord без Rails? Вместо того, чтобы сохранять AR развязанный независимый ORM, теперь он тесно связан с инфраструктурой Rails.

Перемещение ActiveRecord:: Base.colorize_logging в Rails:: LogSubscriber.colorize_logging было просто плохим дизайном и неправильным направлением, не было?