Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ember and Rails
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Steve Kinney
December 17, 2014
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ember and Rails
Steve Kinney
December 17, 2014
More Decks by Steve Kinney
See All by Steve Kinney
Enterprise UI, v2
stevekinney
0
290
React_Performance__2022.pdf
stevekinney
0
51
React Performance v2
stevekinney
0
85
Introduction to Testing
stevekinney
0
200
Web Security, Frontend Masters
stevekinney
0
4.5k
Making Music with the Web Audio API, JSConf Colombia 2023
stevekinney
0
140
React and TypeScript, Turing School
stevekinney
0
390
Redux Workshop, 2021-05-05
stevekinney
2
2.2k
TypeScript and React Utility Types
stevekinney
1
230
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Unsuck your backbone
ammeep
672
58k
Deep Space Network (abreviated)
tonyrice
0
370
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Code Review Best Practice
trishagee
74
20k
Being A Developer After 40
akosma
92
590k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Abbi's Birthday
coloredviolet
4
10k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Transcript
Ember ♥ Rails DeRailed, December 2014
Hi. I'm Steve. @stevekinney
None
Hire our students, please: http://people.turing.io/
Ember Basics
Ember draws influence from Cocoa and Rails. It began it's
life as SproutCore 2.0.
Notable Features Two-way data binding Computed properties An emphasis on
URLs Convention over configuration
None
Let's look at some code.
Public Service Announcement: TurboLinks Considered Harmful
A Tale of Two MVCs
Ember and Rails both take MVC pretty seriously. (That said,
they both have a very different take on it.)
None
None
The route fetches the model and sets up the controller.
Controllers decorate the model and handle actions.
Controllers are singletons.
Let's say you visit /notes/1 and then you visit /notes/2.
It's the same controller, but the route has switched out the model.
Controllers maintain state.
Controllers can talk to each other.
What is Ember Data?
It's kind of like ActiveRecord, but for Ember—and different.
None
// models/post.js export default DS.Model.extend({ title: DS.attr('string'), body: DS.attr('text'), comments:
DS.hasMany('comments') }); // models/comment.js export default DS.Model.extend({ comment: DS.attr('string'), post: DS.belongsTo('post') });
And Now: An Example of the AJAX Requests Generated By
Ember Data
post.find('12').get('comments');
post.get('comments'); GET /posts { "posts": [ { "id": "12", "content":
"Super!", "comments": ["56", "58"] } ] }
GET /comments?ids[]=56&ids[]=58 { "comments": [ { "id": "56", "message": "Whatever",
"post": "12" }, { "id": "58", "message": "Something", "post": "12" } ] }
What just happened? Ember Data sent off two AJAX requests
to Rails in order to build the relation in the browser.
And then it cached the result in the Store.
Let's look at some code together.
Ember Tooling
The Ember Inspector
None
None
It's like the Rails command line tools, but for Ember—
and not that different.
None
Ember CLI allows you to proxy to a Rails server.
Request If Ember can't respond to a URL, it proxies
it on to Rails.
Thank you. Questions?