×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Rails 4: Appetizers @jwo for @houstonrb Wednesday, July 10, 13
Slide 2
Slide 2 text
Rubies Ruby 1.9.3 at least, prefer 2.0 Rails 2.3 => End of Life Ruby 1.8.7 => End of Life Wednesday, July 10, 13
Slide 3
Slide 3 text
Bootup time faster on Ruby 2.0 with Rails 4 How fast? Cray Cray Faster Wednesday, July 10, 13
Slide 4
Slide 4 text
Cache Digests Caches the view (partials) by the updated_at column Wednesday, July 10, 13
Slide 5
Slide 5 text
Best if you have a upper-most site object. Example: Basecamp has an upper-most Account object. Cache Digests Wednesday, July 10, 13
Slide 6
Slide 6 text
So: Add a Site object that has upper-most updated at. Cache Digests Wednesday, July 10, 13
Slide 7
Slide 7 text
Will help with sidebar that does not directly belong to a Post. Cache Digests Wednesday, July 10, 13
Slide 8
Slide 8 text
Uses JavaScript to pull only the tag Turbolinks Wednesday, July 10, 13
Slide 9
Slide 9 text
Speeds up document based sites Turbolinks Wednesday, July 10, 13
Slide 10
Slide 10 text
Most everybody should add jquery-turbolinks Turbolinks Wednesday, July 10, 13
Slide 11
Slide 11 text
Watch out for: Turbolinks Wednesday, July 10, 13
Slide 12
Slide 12 text
External javascript (stripe) Data tags on the body object things in the `` like `` tags Tubolinks Wednesday, July 10, 13
Slide 13
Slide 13 text
Most everything, ever Wednesday, July 10, 13
Slide 14
Slide 14 text
Moves Mass Assignment protection to the controllers Strong Parameters Wednesday, July 10, 13
Slide 15
Slide 15 text
you have to manually remove attr_accessible if upgrading Strong Parameters Wednesday, July 10, 13
Slide 16
Slide 16 text
PostgreSQL Additions hstore: JSON store, attributes, better Single Table Inheritance Wednesday, July 10, 13
Slide 17
Slide 17 text
PostgreSQL Additions Arrays: tagging, parent child ancestry Wednesday, July 10, 13
Slide 18
Slide 18 text
Arel Changes find_by_customer_id => lives! find(:all, conditions: ["customer_id = ?", 45]) => DEAD find(customer_id: 45) => new Wednesday, July 10, 13
Slide 19
Slide 19 text
Arel Changes find_or_create_by_customer_id() => dead find_or_create_by(customer_id: 45) => new! Wednesday, July 10, 13
Slide 20
Slide 20 text
Arel Changes where(id: 45).first_or_create => new hotness .all => deprecated Wednesday, July 10, 13
Slide 21
Slide 21 text
Scope Changes scope :future, where("created_at > ?", Time.now) => syntax error Wednesday, July 10, 13
Slide 22
Slide 22 text
Scope Changes scope :future, → { where("created_at > ?", Time.now) } Wednesday, July 10, 13
Slide 23
Slide 23 text
MultiThreaded It's on, baby! Wednesday, July 10, 13
Slide 24
Slide 24 text
Moved to Gems Observers ActiveRecord SessionStore ActiveResource LOL Action & Page Caching Wednesday, July 10, 13
Slide 25
Slide 25 text
Test Directories test/unit => test/models test/functional => test/ controllers Wednesday, July 10, 13
Slide 26
Slide 26 text
Misc Gemfile has no Assets section Concerns directory is prevalent Wednesday, July 10, 13
Slide 27
Slide 27 text
Misc /bin shows up (binstubs) Plugins must be moved to lib Wednesday, July 10, 13
Slide 28
Slide 28 text
Misc ActionController::Live => (not alot of attention) Patch verb in REST Wednesday, July 10, 13
Slide 29
Slide 29 text
Misc before_filters are now before_action Wednesday, July 10, 13
Slide 30
Slide 30 text
Didn't Make it Queue API Async Mailers Wednesday, July 10, 13
Slide 31
Slide 31 text
get more information http:/ /blog.wyeworks.com/ Rails Conf 2013 Postgres, the Best Tool You're Already Using Wednesday, July 10, 13
Slide 32
Slide 32 text
get more information http:/ /rails-upgrade- checklist.com http:/ /upgradingtorails4.com http:/ /upgradingrails.com Wednesday, July 10, 13
Slide 33
Slide 33 text
Thanks! I’m @jwo Wednesday, July 10, 13