1. Migration de Rail 2.0 ` 2.2
a
Migration de Rail 2.0 ` 2.2
a
Cyril Mougel
4 mars 2009
2. Migration de Rail 2.0 ` 2.2
a
Context
Context
1
Blocage li´ ` Rails 2.1
ea
2
Am´lioration possible avec Rails 2.1
e
3
Blocage li´ ` Rails 2.2
ea
4
Am´lioration possible avec Rails 2.2
e
5
3. Migration de Rail 2.0 ` 2.2
a
Context
Typo 5.1.3
supporte uniquement Rails 2.0.2
Pas d’´volution vers Rails 2.1
e
Couverture de code
4. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.1
ea
Context
1
Blocage li´ ` Rails 2.1
ea
2
Am´lioration possible avec Rails 2.1
e
3
Blocage li´ ` Rails 2.2
ea
4
Am´lioration possible avec Rails 2.2
e
5
5. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.1
ea
Mise ` jour du projet
a
rake rails :update
Mise ` jour des fichiers de boot
a
Mise ` jour des fichiers de JS
a
6. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.1
ea
Plus de follow redirect dans les test de controlleur
Impossibilit´ d’utiliser follow redirect dans un
e
Test :: ActionController
Utilisation uniquement dans les test d’int´gration
e
Inutile dans les test d’action
7. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.1
ea
Ce qui est d´pr´ci´ ou supprim´
eee e
render partial est supprim´ suite ` sa d´pr´cation sur Rails 2.0
e a ee
Utiliser render : partial
8. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.1
e
Context
1
Blocage li´ ` Rails 2.1
ea
2
Am´lioration possible avec Rails 2.1
e
3
Blocage li´ ` Rails 2.2
ea
4
Am´lioration possible avec Rails 2.2
e
5
9. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.1
e
Ajout des .last et .first
Plus besoin d’´crire find( :first) ou find( :last)
e
Maintenant User.first et User.last fonctionne.
User . f i n d ( : f i r s t ) User . f i r s t
=¿
User . f i n d ( : l a s t ) User . l a s t
10. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.1
e
named scope
n a m ed scope : p u b l i s h e d a r t i c l e s ,
: c o n d i t i o n s => { : p u b l i s h e d => t r u e
: o r d e r => ’ p u b l i s h e d a t DESC ’
n a m ed scope : w i t h c h a r , lambda { | ∗ a r g s |
: c o n d i t i o n s => [ ’ name LIKE ? ’ ,
”%#{a r g s . f i r s t }%” ]
}
11. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.1
e
suivi des ´volutions du model
e
article.changed ?
article.name changed ?
=¿ UPDATE body=’foo’ FROM contents where id=’12’
12. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.2
ea
Context
1
Blocage li´ ` Rails 2.1
ea
2
Am´lioration possible avec Rails 2.1
e
3
Blocage li´ ` Rails 2.2
ea
4
Am´lioration possible avec Rails 2.2
e
5
13. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.2
ea
relative url root en configuration de ActionController
Le helper link to utilise relative url root
Avant : utilisait @request.relative url root
Maintenant : On d´fini directement dans la configuration :
e
ActionController : :Base.relative url root
14. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.2
ea
Migration dans des transactions
Si la migration ´choue, pas de mise ` jour de la BDD
e a
raise Exception == Migration Failed, mˆme avec rescue
e
Eviter tous les cas de Raise.
15. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.2
ea
Chargement des classes de controller avec cache classe
= true
en production cache classe = true
Chargement des classes en m´moire
e
rake db :migrate RAILS ENV=’production’ charge classe
si appel ActiveRecord en cache du controller == FAILED
rescue it
16. Migration de Rail 2.0 ` 2.2
a
Blocage li´ ` Rails 2.2
ea
et des trivialit´s
e
fragment cache store remplacer par cache store
TextHelper : :truncate prend un seul argument avec :length en
option. La m´thode avec plusieurs argument DEPRECATED
e
17. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.2
e
Context
1
Blocage li´ ` Rails 2.1
ea
2
Am´lioration possible avec Rails 2.1
e
3
Blocage li´ ` Rails 2.2
ea
4
Am´lioration possible avec Rails 2.2
e
5
18. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.2
e
les conditions par Hash
A r t i c l e . a l l ( : c o n d i t i o n s => {
: c r e a t e d a t => 5 . day . ago ,
: t a g s => { : name => ’ foo ’ } } )
19. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.2
e
facilit´ de m´moization
e e
Utilisation simple de la m´moization
e
def f i e l d s
def f i e l d s
@fields = []
=¿
@ f i e l d s ||= [ ]
end
end
memoize : f i e l d s
20. Migration de Rail 2.0 ` 2.2
a
Am´lioration possible avec Rails 2.2
e
Question ?