loading presentation...
Zmiany w Rails 4
WRUG 2013-01-15
Tomasz "Tomash" Stachewicz
Podstawowe założenia Rails 4.0
- mniej rewolucji niż 2.x -> 3.0
- it's done when it's done
- kompatybilność z Ruby 1.9.3
Zacznijmy od tych niekontrowersyjnych
ActionController i przyjaciele
- attr_accessible wylatuje, zastąpione przez strong_params [c49d959e]
- czasownik PATCH (zamiast PUT) do update
- wiele plików z routes [6acebb38b]
- match wymaga czasownika
- Cache Digests
Koniec niekontrowersyjnych.
Te najbardziej kontrowersyjne
- Rails.queue API [adff4a70]
- Routing Concerns [0dd24728b]
- Turbolinks [e35d8b18]
ActiveRecord
- .none scope: zawsze pusta kolekcja [1a20683f]
- trochę nowych finderów [13b3c77e]
- ActiveRecord::Observer do gema
- .first kontra .take [07e5301e,489166e1,1379375f]
- .count z blokiem [f9cb645d]
- AR::Store: wybieralny serializer [3c0bf043]
PostgreSQL
- partial indexes [d70e0236]
- wsparcie dla HSTORE [f7b915b5]
- wsparcie dla typu JSON [3b516b5b]
- wsparcie dla typu Array [4544d2bc]
- native uuid [12e9a75f]
Takie tam
- wsparcie dla typów HTML5 w helperach formularzowych (color, datetime) [446940c3, 1ce4b5b3, b02d14aa, ...]
- #destroy! [4faaa811]
- development: wymuś migracje [96f19f6c]
Nikogo nie obchodzą (oby!), 1/2
- ActiveRecord::Model - out [9e4c41c99]
- pluginy - out [dad7fdc57]
- ActiveSupport::OrderedHash - out
- createjointable dla migracji do HABTM
Nikogo nie obchodzą (oby!), 2/2
- findorcreateby{attribute}!
- Object.try woła tylko publiczne metody
- scope z parametrem wymaga lambdy
- Action i Page cache do gema
Źródła
- http://www.edgerails.info
- RailsCast #400
- http://blog.endpoint.com/2012/09/rails-4-highlights.html
- http://goo.gl/Ta6vQ