Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Emberjs
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Artur Kremens
October 20, 2014
Programming
0
77
Emberjs
Building an Ember App with Ruby on Rails Part 1
Artur Kremens
October 20, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
250
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
Apache Iceberg V3 and migration to V3
tomtanaka
0
150
ThorVG Viewer In VS Code
nors
0
770
「ブロックテーマでは再現できない」は本当か?
inc2734
0
780
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
180
Patterns of Patterns
denyspoltorak
0
1.4k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Mobile First: as difficult as doing things right
swwweet
225
10k
Prompt Engineering for Job Search
mfonobong
0
160
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
WCS-LA-2024
lcolladotor
0
450
Code Reviewing Like a Champion
maltzj
527
40k
Automating Front-end Workflow
addyosmani
1371
200k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Transcript
Emberjs part one http://emberjs.com
What do we need? • gem 'ember-rails' • gem 'bower-rails'
• gem 'emblem-rails' • http://www.ember-cli.com/
Bower - js package manager • Using with RoR ◦
Bowerfile ◦ initializer ◦ install assets rake bower:install (!) • Package manager ◦ http://bower.io
Getting started • Application structure • Application root element EmberApp
= Ember.Application.create({ rootElement: '#ember-application-holder' })
Router • Application route • Index route • Routes extend
EmberApp.Router.map -> @resource 'page', path: '/', -> @resource 'users', path: '/users', -> @route 'show', path: ':id'
Naming conventions • Router: ◦ AppName.PageRoute ◦ page_route.js.coffee • Controller:
◦ AppName.PageController ◦ page_controller.js.coffee • View: ◦ AppName.PageView ◦ page_view.js.coffee • Template: page.emblem
Outlets • Application template {{outlet}} • {{outlet name}} Render template
• @render 'users', {into: 'application'} • @render 'users', {into: 'application', outlet: 'modal'} • @render 'users', {into: 'page', outlet: 'page', controller: controller}
Model • Router set model model: (params) -> AppName.ModelName.find(params.id) •
Class methods AppName.ModelName.reopenClass find: (id = null) -> ...
View • actions and events • classNames ◦ classNameBinding •
tagName • template ◦ templateName ◦ template : Ember.Handlebars.compile('content')
• Router set controller setupController: (controller, model) -> controller.set('varName', 'value')
• Ember.ObjectController • Ember.ArrayController Controller
• binding • collection ◦ each controller.model div {{name}} ◦
each controller.model {{component-name nameInComponent=name}} ◦ {{view Ember.CollectionView contentBinding='data' itemViewClass='viewName'}} Templates
Components • Template component ◦ /templates/components/component-name.emblem • Ember Component ◦
/components/component-name.js.coffee
Computed properties • Depends on id and name isFirst: (->
@get('id') == 1 && (@get('id') == 'Artur') ).property('id', 'name') • Ember.computed.not('isFirst')
Thanks for attention Artur Kremens
[email protected]
+48507224476