Облегчить боль перехода на Rails 4
Сейчас я работаю над приложением Rails 3.2, но я знаю, что Rails 4 не за горами. Что я должен знать сейчас при реализации моего приложения, чтобы облегчить переход на Rails 4, когда оно официально выпущено или, возможно, после нескольких выпусков? Я знаю, что некоторые функциональные возможности будут включены в гемы, но тогда нет никакой гарантии поддержки в Rails 4.1+.
Я прочитал руководство по обновлению: http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html и примечания к выпуску: http://edgeguides.rubyonrails.org/4_0_release_notes.html.
Меня больше интересует этот момент, чтобы выявить ошибки, которые могут вызвать у меня головную боль при обновлении, а не приятные новые блестящие возможности Rails 4.
Исходя из этого чтения и фрагментов из Интернета, на данный момент у меня есть следующее:
- Обновитесь до Ruby 1.9.3 как минимум.
- Не используйте плагины - вместо этого используйте гемы.
- ActiveRecord:: IdentityMap не будет в Rails 4.
- ActiveResource не будет частью ядра Rails 4, но будет находиться в отдельном геме ( activeresource). Возможно рассмотрите другие ORM для API REST.
- Не используйте методы динамического поиска в ActiveRecord, как
find_all_by_*
или жеscoped_by_*
так как они будут устаревшими. использованиеwhere
вместо. - Избегайте хэш-поиска: например
User.find(:all, :conditions => ...
и использоватьwhere
вместо. - Стремительная оцененная область в ActiveRecord: область требует лямбда-выражения. Например использовать
scope :red, -> { where(color: 'red') }
неscope :red, where(color: 'red')
, - ActiveRecord::SessionStore теперь будет отдельным гемом (
activerecord-session_store
). - Используйте ActiveSupport::Logger вместо BufferedLogger.
- Начните использовать гем strong_parameters в ожидании Strong Parameters в Rails 4. Вместо attr_accessor, attr_accessible, attr_protected на уровне ActiveRecord, это включает
params.require
в контроллер, чтобы принудительно установить правильные параметры.
... но я уверен, что это еще не все. Может ли кто-нибудь предоставить исчерпывающий, но здравый смысл список, о котором следует знать? Я не ищу полный список устаревших версий в Rails 4 - это важные вещи, о которых нужно знать, и что я могу сделать сейчас, чтобы они были ориентированы на будущее.