ce e nou in rails 4

37
Ce e nou in Rails 4 Florin Oltean Cluj.rb 2013-04-04

Upload: florin-oltean

Post on 02-Aug-2015

80 views

Category:

Technology


4 download

TRANSCRIPT

Ce e nou in Rails 4

Florin OlteanCluj.rb

2013-04-04

Cuprins

•Rails 4

•Nou

•Imbunatatit / schimbat

•Extras

Rails 4.0 Beta 1a fost lansat in 2013-02-25

Nou in Rails 4

•Minim Ruby 1.9.3

•Preferat Ruby 2.0

Caching

•Russian Doll Caching

•Declarative ETags

•turbolinks

Securitate

•strong parameters

•default headers

•encrypted cookie

Strong parameters

•Mutare logica din Model in Controller

•nu ne mai incurca in locuri in care nu avem input de la user (consola, teste, etc.)

•avem acces la ‘current_user’

•white-list

•posibila problema cand accesam acelasi model din mai multe controllere (!DRY)

Strong parameters

Default headers

Encrypted cookie

•inainte era doar semnat cookie-ul

•tot nu ar trebui sa pune date sensibile in cookie

•sa punem o referinta si sa stocam server-side

•Suport pentru tipuri de date Postgres

•hstore

•array

•MACADDR, INET, CIDR

•Live Streaming

•push de la server pe conexiuni persistente

•pe versiunile recente de browsere (mai putin IE)

•Metoda HTTP PATCH

•Inlocuieste metoda PUT

•Metoda PATCH trebuie folosita atunci cand in request nu se trimite resursa completa

•PUT va mai functiona o vreme

•Form helper: date_field

•Chrome

•Safari

•application.rb

•console do ... end

Schimbat in Rails 4

ActiveRecord

•.all => lazy

•.scope => deprecated

•.all.to_a => incarca obiectele din BD

ActiveRecord

•.where.not

•Author.where.not(age: 21)

•SELECT "authors".* FROM "authors" WHERE ("authors"."age" != 21)

ActiveRecord

•.order(field: :direction)

•Author.order(name: :desc)

•SELECT "authors".* FROM "authors" ORDER BY "authors"."name" DESC

ActiveRecord

•.find_by(name: "Tom")

•era .find_by_name("Tom")

•.find_or_create_by(name: "Tom")

•era .find_or_create_by_name("Tom")

ActiveRecord

•.scope :name, -> { where(...) }

•deprecated:

•.scope :name, where(...)

ActiveModel::Model

Organizare teste

•public/index.html generata intern

•nu mai trebuie stearsa din aplicatiile noi

Rute

•match => get, post, ...

•concerns

•thread safe on by default (production)

•config.eager_load = true

•ex: http://puma.io/

Development•pagina de eroare imbunatatita

•/rails/info

Development

Extras din Rails 4

•Page and Action Caching

•inlocuit cu Russian Doll Caching

•Observers

•rolul Observerilor era sa fie folositi pentru invalidarea cache-ului

•ActiveResource

•SessionStore

Ce nu a intrat in Rails 4

•Background Queueing

•Asynchronous ActionMailer

Referinte

http://railscasts.com/episodes/400-what-s-new-in-rails-4http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/https://blog.engineyard.com/2013/rails-4-changeshttps://blog.engineyard.com/2013/new-in-rails-4

Contact

@florin555

[email protected]

?