2010-09-05 11 views

Odpowiedz

31

Rails 3 release notes mają wiele dobrych informacji:

Railties teraz deprecates:

  • RAILS_ROOT na rzecz Rails.root,
  • RAILS_ENV na rzecz Rails.env i
  • RAILS_DEFAULT_LOGGER na rzecz Rails.logger.

ActionController:

  • cookie_verifier_secret została zaniechana i teraz zamiast tego jest przypisany przez Rails.application.config.cookie_secret i przeniósł się do własnego pliku: config/initializers/cookie_verification_secret.rb.
  • filter_parameter_logging jest przestarzałe na rzecz config.filter_parameters < <: hasło.

ActiveRecord

  • named_scope w klasie Active Record jest przestarzała i została zmieniona na tylko zakres.
  • Zapis (false) jest przestarzały, na korzyść save (: validate => false).
  • model.errors.on jest przestarzały na rzecz modelu.Błędy []
  • ActiveRecord :: Base.colorize_logging i config.active_record.colorize_logging są przestarzałe na rzecz Rails :: LogSubscriber.colorize_logging lub config.colorize_logging

ActionMailer

  • : charset,: content_type,: mime_version,: implicit_parts_order są przestarzałe na korzyść ActionMailer.default: key => deklaracje stylu wartości.
  • Mailer dynamiczny create_method_name i deliver_method_name są przestarzałe, wystarczy wywołać method_name, która teraz zwraca obiekt Mail :: Message.
  • ActionMailer.deliver (wiadomość) jest przestarzałe, wystarczy wywołać message.deliver.
  • element template_root jest przestarzały, przekazuje opcje do wywołania renderowania wewnątrz procesu z metody format.mime_type wewnątrz bloku generowania poczty
  • Metoda body do definiowania zmiennych instancji jest przestarzała (treść {: ivar => wartość}), po prostu zadeklaruj zmienne instancji w metodzie bezpośrednio i będą one dostępne w widoku.
  • Listery będące w aplikacjach/modelach są nieaktualne, należy zamiast nich użyć aplikacji/programów pocztowych.
1

dobrym sposobem na sprawdzenie szczegółów dotyczących poszczególnych aplikacjach byłoby uruchomić rails_upgrade wtyczki na nim (można go znaleźć na GitHub) to będzie wyjście lista ogłoszeń amortyzacyjne oraz zaleceń

kilka przydatnych informacji jest również podsumowane w tym blogu: http://www.simonecarletti.com/blog/2010/07/the-way-to-rails-3/

Dodatkowo Railscasts ma kilka filmów na różnych zmienionych aspektów API. Przejdź do strony Railscasts.com i przejrzyj filmy zamieszczone pod tagiem rails3.

+0

Chcę czegoś kompletnego. –

6

Nie sądzę, że znajdziecie wyczerpującą listę amortyzacji, ponieważ tak naprawdę zależy to od wersji uaktualnień, z których dokonywana jest aktualizacja. Na przykład, Rails 2.3.9 (właśnie wydany) dodał dodatkowe amortyzacji w stosunku do poprzedniej wersji.

The Rails Upgrade Handbook (jak wspomniano powyżej) jest doskonałym narzędziem i zawiera 12 stron ostrzeżeń o amortyzacji i sposobu ich naprawienia. Nie sądzę, że zostaną one opublikowane tutaj, ponieważ należy po prostu upuścić 9 USD i pobrać plik pdf, aby uzyskać listę. Dołączone samouczki i inne informacje sprawiają, że warto. To było dla mnie.

Jeśli nie chcesz płacić za dobre informacje, po prostu uruchom rails_upgrade plugin dla swojej aplikacji. Więcej informacji o tym, jak wtyczka znajduje się na stronie rails upgrade plugin github.

+3

To zupełnie absurdalne, aby płacić za takie zwykle darmowe informacje. –

+1

Powinieneś przejść przez kod źródłowy szyny i wyciągnąć wszystkie deprecjacje i opublikować je na blogu, aby mogły być one informacjami typu "za darmo". –

+0

Zdecydowanie robię to teraz, myślałem, że jest lepszy sposób! –

0

Kolejne miejsce, w którym można uzyskać dane o wycofaniu z aktywnego rekordu, znajduje się tutaj (http://m.onkey.org/active-record-query-interface).

Odpowiedz, jeśli znajdziesz użyteczne.

0

Jak wyłączyć kolorowanie rejestrowania w ActiveRecord bez Railsów? Zamiast zachowywać oddzielone AR, niezależne ORM, jest teraz ściśle związane ze strukturą Rails.

Przenoszenie ActiveRecord :: Base.colorize_logging na Rails :: LogSubscriber.colorize_logging był po prostu kiepskim projektem, a zły kierunek, nie był?

+0

Dowiedziałem się, jak wyłączyć rejestrowanie w kolorze poza Railsami za pomocą: 'ActiveSupport :: LogSubscriber.colorize_logging = false' –