SlideShare a Scribd company logo
1 of 17
DAWNING OF THE AGE OF ANGULARJS
• client-side javascript MVC
framework
• makes use of
directives, dependency
injection, and data binding
• “reasonable magic”, like Rails
• http://angularjs.org/
• by Google
ANGULAR.JS
Directives
• Domain specific HTML syntax, reusable
Dependency Injection
• Declarative description how app is wired (de-centralized)
Data Binding
• Automatic updating the view whenever model changes
Community
• Documentation, tutorials, testable, ecosystem
ANGULARJS.ORG
ANGULAR IN RAILS
Gemfile
gem 'angularjs-rails’
app/assets/javascripts/application.js
//= require angular
config/environments/production.rb
config.assets.js_compressor =
Sprockets::LazyCompressor.new { Uglifier.new(mangle: false) }
HELLO HTML
app/views/layouts/application.html.haml
%html{ 'ng-app' => true }
<html ng-app>
app/views/home/index.html.haml
%p Hello {{'World' + '!'}}
<p>Hello {{'World' + '!'}}</p>
HELLO CNTL
app/assets/javascripts/hello.js.coffee
HelloCntl = ($scope) ->
$scope.name = 'World’
index.html.haml
%div{ ng_controller: 'HelloCntl'}
Your name:
%input{ type: 'text', ng_model: 'name', value: 'World' }
Hello {{name}}
HELLO MODULE
app/assets/javascripts/hello.js.coffee
app = angular.module 'Hello', []
app.controller 'HelloCntl', @HelloCntl = ($scope) ->
$scope.name = 'World'
APP PARTIAL
app/views/home/_hello.html.haml
%div{ 'ng-app' => 'Hello'}
...
POSTS INDEX AJAX
app/assets/javascripts/posts.js.coffee
app = angular.module 'Posts', []
app.controller "PostsCtrl", @PostsCtrl = ($scope, $http) ->
$http.get('/posts.json').success (data) ->
$scope.posts = data
app/views/posts/index.html.haml
%h1 Listing posts
%div{ ng_controller: "PostsCtrl" }
%ul
%li{ ng_repeat: "post in posts" }
{{post.title}}
POSTS INDEX ANGULAR RESOURCE
application.js
//= require angular-resource
posts.js.coffee
app = angular.module 'Posts', ['ngResource’]
app.controller "PostsCtrl", @PostsCtrl = ($scope, $resource) ->
//$http.get('/posts.json').success (data) ->
// $scope.posts = data
Post = $resource('/posts')
$scope.posts = Post.query()
TESTING WITH JASMINE AND TEASPOON
Gemfile
gem 'teaspoon’
gem 'phantomjs'
spec/javascripts/support/spec_helper.js
//= require angular-mocks
Run
browse to http://localhost:3000/teaspoon or rake teaspoon
SPEC SETUP
spec/javascripts/posts_spec.js.coffee
describe "PostsCtrl", ->
$fixture = [
{ id: 1, title: "Title 1", intro: "This is posting 1" },
{ id: 2, title: "Title 2", intro: "This is posting 2" }
]
$scope = null
$controller = null
$httpBackend = null
beforeEach module('Posts')
beforeEach inject ($injector) ->
$scope = $injector.get('$rootScope').$new()
$controller = $injector.get('$controller')
$httpBackend = $injector.get('$httpBackend')
$httpBackend.when('GET','/posts.json').respond($fixture)
SPEC EXAMPLE
it 'creates posts model with index request', ->
$httpBackend.expect('GET', '/posts').respond($fixture)
$controller(PostsCtrl, {$scope: $scope }) //instantiate controller
expect($scope.posts).toEqualData []
$httpBackend.flush()// mock the ajax success
expect($scope.posts.length).toBe 2
expect($scope.posts).toEqualData $fixture
http://vaporbase.com/postings/integrating-angular-dot-js-with-
rails
Jonathan Linowes
@linojon
github.com/linojon
http://www.parkerhill.com/

More Related Content

What's hot

How routing works in angular js
How routing works in angular jsHow routing works in angular js
How routing works in angular jscodeandyou forums
 
multiple views and routing
multiple views and routingmultiple views and routing
multiple views and routingBrajesh Yadav
 
RoR 101: Session 2
RoR 101: Session 2RoR 101: Session 2
RoR 101: Session 2Rory Gianni
 
RoR 101: Session 6
RoR 101: Session 6RoR 101: Session 6
RoR 101: Session 6Rory Gianni
 
RoR 101: Session 6
RoR 101: Session 6RoR 101: Session 6
RoR 101: Session 6Rory Gianni
 
Drupal module development : Blisstering @ DCSF
Drupal module development : Blisstering @ DCSFDrupal module development : Blisstering @ DCSF
Drupal module development : Blisstering @ DCSFBlisstering Solutions
 
CFUGbe talk about Angular JS
CFUGbe talk about Angular JSCFUGbe talk about Angular JS
CFUGbe talk about Angular JSAlwyn Wymeersch
 
Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppRavi Teja
 
Understanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scopeUnderstanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scopeBrajesh Yadav
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Noritada Shimizu
 
RoR 101: Session 3
RoR 101: Session 3RoR 101: Session 3
RoR 101: Session 3Rory Gianni
 

What's hot (20)

How routing works in angular js
How routing works in angular jsHow routing works in angular js
How routing works in angular js
 
AngularJS workshop for beginners.
AngularJS workshop for beginners.AngularJS workshop for beginners.
AngularJS workshop for beginners.
 
AngularJS Best Practices
AngularJS Best PracticesAngularJS Best Practices
AngularJS Best Practices
 
multiple views and routing
multiple views and routingmultiple views and routing
multiple views and routing
 
Angular pres
Angular presAngular pres
Angular pres
 
RoR 101: Session 2
RoR 101: Session 2RoR 101: Session 2
RoR 101: Session 2
 
RoR 101: Session 6
RoR 101: Session 6RoR 101: Session 6
RoR 101: Session 6
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
 
Intro to AngularJS
Intro to AngularJS Intro to AngularJS
Intro to AngularJS
 
RoR 101: Session 6
RoR 101: Session 6RoR 101: Session 6
RoR 101: Session 6
 
Angular Classy
Angular ClassyAngular Classy
Angular Classy
 
Drupal module development : Blisstering @ DCSF
Drupal module development : Blisstering @ DCSFDrupal module development : Blisstering @ DCSF
Drupal module development : Blisstering @ DCSF
 
CFUGbe talk about Angular JS
CFUGbe talk about Angular JSCFUGbe talk about Angular JS
CFUGbe talk about Angular JS
 
Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside App
 
Understanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scopeUnderstanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scope
 
Angular js
Angular jsAngular js
Angular js
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)
 
Angular - Beginner
Angular - BeginnerAngular - Beginner
Angular - Beginner
 
Rails3 asset-pipeline
Rails3 asset-pipelineRails3 asset-pipeline
Rails3 asset-pipeline
 
RoR 101: Session 3
RoR 101: Session 3RoR 101: Session 3
RoR 101: Session 3
 

Viewers also liked

Word problem part whole_and_comparison
Word problem part whole_and_comparisonWord problem part whole_and_comparison
Word problem part whole_and_comparisonsitifatimah89
 
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...Dana Bonsell
 
Manual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordManual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordclaudiajaramillo78
 
Multiplication cards
Multiplication cardsMultiplication cards
Multiplication cardssitifatimah89
 
Larry rasmussen c2 i team
Larry rasmussen c2 i teamLarry rasmussen c2 i team
Larry rasmussen c2 i teamLARRY RASMUSSEN
 
Manual para la elaboración de documentos electrónicos certidems
Manual para la elaboración de documentos electrónicos certidemsManual para la elaboración de documentos electrónicos certidems
Manual para la elaboración de documentos electrónicos certidemsclaudiajaramillo78
 
CoesterVMS Inside the Mind of the Appraiser 101
CoesterVMS Inside the Mind of  the Appraiser 101CoesterVMS Inside the Mind of  the Appraiser 101
CoesterVMS Inside the Mind of the Appraiser 101Dana Bonsell
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocratJonathan Linowes
 
Manual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordManual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordclaudiajaramillo78
 

Viewers also liked (9)

Word problem part whole_and_comparison
Word problem part whole_and_comparisonWord problem part whole_and_comparison
Word problem part whole_and_comparison
 
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...
CoesterVMS and James Milano Present The New Ability to Repay and Qualified Mo...
 
Manual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordManual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en word
 
Multiplication cards
Multiplication cardsMultiplication cards
Multiplication cards
 
Larry rasmussen c2 i team
Larry rasmussen c2 i teamLarry rasmussen c2 i team
Larry rasmussen c2 i team
 
Manual para la elaboración de documentos electrónicos certidems
Manual para la elaboración de documentos electrónicos certidemsManual para la elaboración de documentos electrónicos certidems
Manual para la elaboración de documentos electrónicos certidems
 
CoesterVMS Inside the Mind of the Appraiser 101
CoesterVMS Inside the Mind of  the Appraiser 101CoesterVMS Inside the Mind of  the Appraiser 101
CoesterVMS Inside the Mind of the Appraiser 101
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
 
Manual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en wordManual para la elaboración de documentos electrónicos en word
Manual para la elaboración de documentos electrónicos en word
 

Similar to Integrating Angular.js with Rails (Wicked Good Ruby Conf lightening talk)

Intoduction to Angularjs
Intoduction to AngularjsIntoduction to Angularjs
Intoduction to AngularjsGaurav Agrawal
 
AngularJS - GrapeCity Echo Tokyo
AngularJS - GrapeCity Echo TokyoAngularJS - GrapeCity Echo Tokyo
AngularJS - GrapeCity Echo TokyoChris Bannon
 
Angular JS training institute in Jaipur
           Angular JS training institute in Jaipur           Angular JS training institute in Jaipur
Angular JS training institute in JaipurHEMANT SAXENA
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSShyjal Raazi
 
AgularJS basics- angular directives and controllers
AgularJS basics- angular directives and controllersAgularJS basics- angular directives and controllers
AgularJS basics- angular directives and controllersjobinThomas54
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversitySyed Shanu
 
Angular Js Get Started - Complete Course
Angular Js Get Started - Complete CourseAngular Js Get Started - Complete Course
Angular Js Get Started - Complete CourseEPAM Systems
 
Coffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSCoffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSDeepu S Nath
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework Yakov Fain
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and conceptsSuresh Patidar
 
One Weekend With AngularJS
One Weekend With AngularJSOne Weekend With AngularJS
One Weekend With AngularJSYashobanta Bai
 

Similar to Integrating Angular.js with Rails (Wicked Good Ruby Conf lightening talk) (20)

Intoduction to Angularjs
Intoduction to AngularjsIntoduction to Angularjs
Intoduction to Angularjs
 
Angular js
Angular jsAngular js
Angular js
 
AngularJS - GrapeCity Echo Tokyo
AngularJS - GrapeCity Echo TokyoAngularJS - GrapeCity Echo Tokyo
AngularJS - GrapeCity Echo Tokyo
 
AngularJS
AngularJSAngularJS
AngularJS
 
Angular JS training institute in Jaipur
           Angular JS training institute in Jaipur           Angular JS training institute in Jaipur
Angular JS training institute in Jaipur
 
Angular js
Angular jsAngular js
Angular js
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Angularjs
AngularjsAngularjs
Angularjs
 
AgularJS basics- angular directives and controllers
AgularJS basics- angular directives and controllersAgularJS basics- angular directives and controllers
AgularJS basics- angular directives and controllers
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
 
AngularJS in practice
AngularJS in practiceAngularJS in practice
AngularJS in practice
 
Angular Js Get Started - Complete Course
Angular Js Get Started - Complete CourseAngular Js Get Started - Complete Course
Angular Js Get Started - Complete Course
 
AngularJS is awesome
AngularJS is awesomeAngularJS is awesome
AngularJS is awesome
 
AngularJS By Vipin
AngularJS By VipinAngularJS By Vipin
AngularJS By Vipin
 
Coffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSCoffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JS
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and concepts
 
Angular js
Angular jsAngular js
Angular js
 
One Weekend With AngularJS
One Weekend With AngularJSOne Weekend With AngularJS
One Weekend With AngularJS
 
AngularJS
AngularJSAngularJS
AngularJS
 

Recently uploaded

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Integrating Angular.js with Rails (Wicked Good Ruby Conf lightening talk)

Editor's Notes

  1. http://www.walls360.com/chicago-railroad-tracks-at-dawn-p/4100.htm
  2. http://angularjs.org/Compelling, Welcoming website, tutorials, learn explore, reference
  3. Instantiate a PostsCntlThe posts model inside the controller (scope.posts) starts out as empty (null). When we call $httpBackend.flush(), the mock acts like its completed the asynchronous call. When its done, scope.posts will be populated with the fixture data.