SlideShare a Scribd company logo
researchR 
Ruby on Rails + Ember-CLI ( and chrome )
Backend ( ruby on rails ) 
Basics: 
● spin up a new rails app 
● this will be our api 
○ an application programming interface (API) 
■ yay!
Backend ( ruby on rails ) 
for researchR: 
● Needed models for Entries, Projects and Users 
o set-up controllers to serve up json
Backend ( ruby on rails ) 
for researchR: 
● Serializers 
o set-up to serve your data
Backend ( ruby on rails ) 
for researchR: 
● Using Devise for Auth 
o set-up Devise as you would normally 
o dont worry about exporting the views ( all this will be in the ui )
Backend ( ruby on rails ) 
for researchR: 
● to connect the two 
o “Rack::Cors provides support for Cross-Origin Resource Sharing 
(CORS) for Rack compatible web applications”
frontend ( ember-cli) 
Basics: 
● set up a new shiney ember-cli app
frontend ( ember-cli) 
for researchR: 
● routes: each one represents a state in your app
frontend ( ember-cli) 
for researchR: 
● controllers - controllers let you decorate models with display logic
frontend ( ember-cli) 
for researchR - these were not needed: 
● views : “The role of the view in an Ember.js application is to translate 
browser events into events that have meaning”
frontend ( ember-cli) 
for researchR: 
● models: “every route (... can have an ...) associated model. This model is 
set by implementing a route's model hook, by passing the model as an 
argument to {{link-to}}, or by calling a route's transitionTo() method”
frontend ( ember-cli) 
for researchR: 
● templates: “Handlebars templates as an HTML-like ... for describing the 
user interface”
frontend ( ember-cli) 
for researchR: 
● Authentication! 
o ember-cli-simple-auth to for the app and -auth-devise to hook up to 
devise in rails land
chrome extension 
for researchR: 
● Need TO wrap it all together! 
o lucky for us Chrome makes it simple: 
1- create a manifest file named manifest.json 
2- add resources (must exist inside the extension package) 
3- load unpacked extension 
4- reload
Resources 
developer.chrome.com 
emberjs.com 
devmynd.com 
simplabs.com

More Related Content

PPTX
An evening with Angular 2
PPTX
Mage Titans - Workshop - UI Components
PDF
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
PDF
[JCConf 2017] Reactive Programming with Reactor
PDF
ServiceWorker: Exploring the Core of the Progressive Web App-Bagus Aji Santos...
PDF
V8 javascript engine for フロントエンドデベロッパー
PDF
Ansible Israel Kickoff Meetup
PDF
Angular Testing
An evening with Angular 2
Mage Titans - Workshop - UI Components
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
[JCConf 2017] Reactive Programming with Reactor
ServiceWorker: Exploring the Core of the Progressive Web App-Bagus Aji Santos...
V8 javascript engine for フロントエンドデベロッパー
Ansible Israel Kickoff Meetup
Angular Testing

What's hot (13)

PDF
Ruby on Rails - UNISO
PDF
Front-end God Mode with Reagent and Figwheel
PPTX
Grails Plugin
PDF
What's new in WorkManager-Andri Suranta Ginting (Product Engineer-Gojek)
PDF
Orbiter and how to extend Docker Swarm
PDF
A little respect for MVC part 1 par Gegoire Lhotellier
PDF
Serverless Spring by Stephane Maldini
PDF
Introduction to Angular for .NET Developers
PDF
Design Summit - Automate roadmap - Madhu Kanoor
PPTX
Creating asynchronous flows on AWS
PDF
MongoDB World 2016: Implementing Async Networking in MongoDB 3.2
PDF
Lars thorup-react-and-redux-2016-09
PPTX
Introduction to Angular2
Ruby on Rails - UNISO
Front-end God Mode with Reagent and Figwheel
Grails Plugin
What's new in WorkManager-Andri Suranta Ginting (Product Engineer-Gojek)
Orbiter and how to extend Docker Swarm
A little respect for MVC part 1 par Gegoire Lhotellier
Serverless Spring by Stephane Maldini
Introduction to Angular for .NET Developers
Design Summit - Automate roadmap - Madhu Kanoor
Creating asynchronous flows on AWS
MongoDB World 2016: Implementing Async Networking in MongoDB 3.2
Lars thorup-react-and-redux-2016-09
Introduction to Angular2
Ad

Similar to ruby-on-rails-and-ember-cli (20)

PPTX
4 Anguadasdfasdasdfasdfsdfasdfaslar (1).pptx
PDF
Workshop 16: EmberJS Parte I
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
PPTX
SETCON'18 - Ilya labacheuski - GraphQL adventures
PPTX
Crash Course on R Shiny Package
PPTX
Web Development Today
PPTX
RapidApp - YAPC::NA 2014
PDF
RoR 101: Session 2
PDF
Beginning MEAN Stack
PPTX
Ruby on Rails + AngularJS + Twitter Bootstrap
PDF
API workshop by AWS and 3scale
PDF
Aspose pdf
PDF
FrontEnd.pdf
PPTX
OpenDaylight and YANG
PPTX
Getting into ember.js
PDF
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
PPTX
Web Techdfasvfsvgsfgnolofgdfggy Unit I.pptx
PDF
Rack
PDF
Migrating Monolithic Applications with the Strangler Pattern
PPT
Static Code Analysis For Ruby
4 Anguadasdfasdasdfasdfsdfasdfaslar (1).pptx
Workshop 16: EmberJS Parte I
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
SETCON'18 - Ilya labacheuski - GraphQL adventures
Crash Course on R Shiny Package
Web Development Today
RapidApp - YAPC::NA 2014
RoR 101: Session 2
Beginning MEAN Stack
Ruby on Rails + AngularJS + Twitter Bootstrap
API workshop by AWS and 3scale
Aspose pdf
FrontEnd.pdf
OpenDaylight and YANG
Getting into ember.js
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
Web Techdfasvfsvgsfgnolofgdfggy Unit I.pptx
Rack
Migrating Monolithic Applications with the Strangler Pattern
Static Code Analysis For Ruby
Ad

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Programs and apps: productivity, graphics, security and other tools
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf

ruby-on-rails-and-ember-cli

  • 1. researchR Ruby on Rails + Ember-CLI ( and chrome )
  • 2. Backend ( ruby on rails ) Basics: ● spin up a new rails app ● this will be our api ○ an application programming interface (API) ■ yay!
  • 3. Backend ( ruby on rails ) for researchR: ● Needed models for Entries, Projects and Users o set-up controllers to serve up json
  • 4. Backend ( ruby on rails ) for researchR: ● Serializers o set-up to serve your data
  • 5. Backend ( ruby on rails ) for researchR: ● Using Devise for Auth o set-up Devise as you would normally o dont worry about exporting the views ( all this will be in the ui )
  • 6. Backend ( ruby on rails ) for researchR: ● to connect the two o “Rack::Cors provides support for Cross-Origin Resource Sharing (CORS) for Rack compatible web applications”
  • 7. frontend ( ember-cli) Basics: ● set up a new shiney ember-cli app
  • 8. frontend ( ember-cli) for researchR: ● routes: each one represents a state in your app
  • 9. frontend ( ember-cli) for researchR: ● controllers - controllers let you decorate models with display logic
  • 10. frontend ( ember-cli) for researchR - these were not needed: ● views : “The role of the view in an Ember.js application is to translate browser events into events that have meaning”
  • 11. frontend ( ember-cli) for researchR: ● models: “every route (... can have an ...) associated model. This model is set by implementing a route's model hook, by passing the model as an argument to {{link-to}}, or by calling a route's transitionTo() method”
  • 12. frontend ( ember-cli) for researchR: ● templates: “Handlebars templates as an HTML-like ... for describing the user interface”
  • 13. frontend ( ember-cli) for researchR: ● Authentication! o ember-cli-simple-auth to for the app and -auth-devise to hook up to devise in rails land
  • 14. chrome extension for researchR: ● Need TO wrap it all together! o lucky for us Chrome makes it simple: 1- create a manifest file named manifest.json 2- add resources (must exist inside the extension package) 3- load unpacked extension 4- reload
  • 15. Resources developer.chrome.com emberjs.com devmynd.com simplabs.com

Editor's Notes

  • #9: To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate. To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate. To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate. To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate. To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate. To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate.To understand why this is important, imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like: Is the user currently logged in? Are they an admin user? What post are they looking at? Is the settings screen open? Are they editing the current post? In Ember.js, each of the possible states in your application is represented by a URL. Because all of the questions we asked above— Are we logged in? What post are we looking at? —are encapsulated by route handlers for the URLs, answering them is both simple and accurate.
  • #10: controllers allow you to decorate your models with display logic. In general, your models will have properties that are saved to the server