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

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

15 голосов
/ 06 сентября 2010

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

Ответы [ 6 ]

31 голосов
/ 15 сентября 2010

Замечания по выпуску 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 <<: пароль.</li>

ActiveRecord

  • named_scope в классе Active Record устарел и был переименован в просто область действия.
  • save (false) устарел, в пользуof 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 => декларации стиля значения.
  • Динамическое создание имени_почты и имя_почты не рекомендуется, просто вызовите method_name, которое теперь возвращает объект Mail :: Message.
  • ActionMailer.deliver (сообщение) устарело, просто вызовите message.deliver.
  • template_root устарело, передайте параметры вызову рендеринга внутри proc из метода format.mime_type внутри блока генерации почты
  • Метод bodyчтобы определить переменные экземпляра не рекомендуется (body {: ivar => value}), просто объявите переменные экземпляра в методе напрямую, и они будут доступны в представлении.
  • Почтовые рассылки, находящиеся в приложении / моделях, устарели, используйтеприложение / почтовые программы вместо.
6 голосов
/ 14 сентября 2010

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

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

Если вы не хотите платить за полезную информацию, просто запустите rails_upgrade плагин для вашего конкретного приложения. Больше информации о том, как плагин находится на странице обновления плагина gilsub .

1 голос
/ 06 сентября 2010

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

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

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

0 голосов
/ 30 марта 2012

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

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

0 голосов
/ 26 августа 2011

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

Ответ, если найден полезным.

0 голосов
/ 06 сентября 2010

Я считаю, что стоит покупать http://www.railsupgradehandbook.com/

...