# Thorough Ember Tutorial

**URL:** <https://discuss.emberjs.com/t/thorough-ember-tutorial/5615>\
**Category:** Uncategorized\
**Created:** [June 12, 2014, 2:08pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615 "2014-06-12T14:08:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![vic\_ramon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/vic_ramon/32/5153_2.png) [@vic\_ramon](https://discuss.emberjs.com/u/vic_ramon)\
**Post date:** [June 12, 2014, 2:08pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/1 "2014-06-12T14:08:58Z")

</div>

I just released a fairly thorough Ember Tutorial that uses Rails and ember-rails. I’d really like your feedback on the code and content.

[http://ember.vicramon.com](http://ember.vicramon.com)

---

<div class="post-metadata">

**Author:** ![dmarkow](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dmarkow/32/15070_2.png) [@dmarkow](https://discuss.emberjs.com/u/dmarkow)\
**Post date:** [June 12, 2014, 2:21pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/2 "2014-06-12T14:21:54Z")

</div>

You forgot the link…

---

<div class="post-metadata">

**Author:** ![ramchiranjeevi](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/ramchiranjeevi/32/15470_2.png) [@ramchiranjeevi](https://discuss.emberjs.com/u/ramchiranjeevi)\
**Post date:** [June 12, 2014, 2:24pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/3 "2014-06-12T14:24:49Z")

</div>

@vic_ramon Kindly add the link to your resource.

---

<div class="post-metadata">

**Author:** ![vic\_ramon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/vic_ramon/32/5153_2.png) [@vic\_ramon](https://discuss.emberjs.com/u/vic_ramon)\
**Post date:** [June 12, 2014, 2:28pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/4 "2014-06-12T14:28:58Z")

</div>

Whoops, it’s there now.

---

<div class="post-metadata">

**Author:** ![uberllama](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/uberllama/32/15780_2.png) [@uberllama](https://discuss.emberjs.com/u/uberllama)\
**Post date:** [June 12, 2014, 2:36pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/5 "2014-06-12T14:36:56Z")

</div>

Bookmarked for later, cheers. Hoping to see associations and validations, both of which are usually glossed over in ember tutorials.

---

<div class="post-metadata">

**Author:** ![mopnexi](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/mopnexi/32/15818_2.png) [@mopnexi](https://discuss.emberjs.com/u/mopnexi)\
**Post date:** [June 13, 2014, 7:19am UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/6 "2014-06-13T07:19:35Z")

</div>

Handling big amounts of data is something I’m interested in also (\>30k rows) - how to approach this.

---

<div class="post-metadata">

**Author:** ![danie11am](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/danie11am/32/15886_2.png) [@danie11am](https://discuss.emberjs.com/u/danie11am)\
**Post date:** [June 13, 2014, 11:33am UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/7 "2014-06-13T11:33:19Z")

</div>

I just had a quick look, it seems to be a good resource. Will surely refer back to it.

However, coming from a non-Rails background, I have to say that there’re way too much Ember.js resources out there that assume Rails background. Yeah I know, it shouldn’t make a difference… theoretically.

---

<div class="post-metadata">

**Author:** ![trek](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/trek/32/14207_2.png) [@trek](https://discuss.emberjs.com/u/trek)\
**Post date:** [June 13, 2014, 1:22pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/8 "2014-06-13T13:22:53Z")

</div>

@danie11am seems like a great opportunity for you to write on with a different backend! 😛

---

<div class="post-metadata">

**Author:** ![vic\_ramon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/vic_ramon/32/5153_2.png) [@vic\_ramon](https://discuss.emberjs.com/u/vic_ramon)\
**Post date:** [June 13, 2014, 1:49pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/9 "2014-06-13T13:49:35Z")

</div>

@danie11am Other people have been saying this too. What do you want to use for your backend?

---

<div class="post-metadata">

**Author:** ![danie11am](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/danie11am/32/15886_2.png) [@danie11am](https://discuss.emberjs.com/u/danie11am)\
**Post date:** [June 13, 2014, 2:14pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/10 "2014-06-13T14:14:41Z")

</div>

Currently I’m working on an Ember.js app with Node/Express as backend.

@trek ha thx I wish I could find the time to.

---

<div class="post-metadata">

**Author:** ![ydarbleoj](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/ydarbleoj/32/15876_2.png) [@ydarbleoj](https://discuss.emberjs.com/u/ydarbleoj)\
**Post date:** [June 13, 2014, 3:29pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/11 "2014-06-13T15:29:28Z")

</div>

Does your tutorial go over separate template files? This is an area that is in need of coverage.

---

<div class="post-metadata">

**Author:** ![pyrabbit](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/pyrabbit/32/15895_2.png) [@pyrabbit](https://discuss.emberjs.com/u/pyrabbit)\
**Post date:** [June 13, 2014, 6:20pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/12 "2014-06-13T18:20:02Z")

</div>

I have been looking for something like this for a few days now! What you did for Ember is what Michael Hartl did for Ruby on Rails. I would pay money for this quality of work. Thanks a lot Vic Ramon! I can’t wait to become an Ember master and it will be because of quality work like this!

---

<div class="post-metadata">

**Author:** ![vic\_ramon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/vic_ramon/32/5153_2.png) [@vic\_ramon](https://discuss.emberjs.com/u/vic_ramon)\
**Post date:** [June 13, 2014, 6:38pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/13 "2014-06-13T18:38:10Z")

</div>

Thanks @pyrabbit, I appreciate the compliment.

@ydarbleoj The tutorial does use separate template files, though I’m not sure what you specifically mean here. Separating templates into different files is not that complicated of a concept, other than having to put templates in subdirectories when the route is nested under a resource…

---

<div class="post-metadata">

**Author:** ![ydarbleoj](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/ydarbleoj/32/15876_2.png) [@ydarbleoj](https://discuss.emberjs.com/u/ydarbleoj)\
**Post date:** [June 13, 2014, 6:47pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/14 "2014-06-13T18:47:27Z")

</div>

@vic_ramon Thanks. I just perused your tutorial, very nice; and I agree, not that difficult.

---

<div class="post-metadata">

**Author:** ![uberllama](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/uberllama/32/15780_2.png) [@uberllama](https://discuss.emberjs.com/u/uberllama)\
**Post date:** [June 14, 2014, 1:40pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/15 "2014-06-14T13:40:06Z")

</div>

I’m part way through and have the following feedback.

Very well written and concise. I’ve read countless ember tutorials and articles and yours has had the highest “aha”-to-text ratio yet. That could also be because I’ve read countless ember tutorials. 😉

Very appreciative of the Javascript/CoffeeScript toggle, but I’d love to see a handlebars/emblem toggle. My “aha” count dropped significantly once you switched to emblem only, as I find syntaxless HAML-esque DSLs extraordinarily hard to follow for whatever reason.

Don’t apologize for putting the tutorial in a Rails context. There are many many Rails devs out there looking to transition to Ember, so why shouldn’t there be specific tutorials.

Thanks for spending the time.Onward…

---

<div class="post-metadata">

**Author:** ![vic\_ramon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/vic_ramon/32/5153_2.png) [@vic\_ramon](https://discuss.emberjs.com/u/vic_ramon)\
**Post date:** [June 14, 2014, 6:29pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/16 "2014-06-14T18:29:46Z")

</div>

Thanks @uberllama.

Handlebars/Emblem toggle could be a thing.

I’ve used Haml with Rails for a long time so I’ve grown to really dislike plain html. Maybe I shouldn’t force Emblem on the tutorial readers… it’s just so much more concise, I feel like it’s cleaner once your eyes adjust to it. That’s my opinion though 😄

As a sidneote, I’d prefer something more like Haml than Slim, but I haven’t found a good Haml plugin for Handlebars.

---

<div class="post-metadata">

**Author:** ![pyrabbit](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/pyrabbit/32/15895_2.png) [@pyrabbit](https://discuss.emberjs.com/u/pyrabbit)\
**Post date:** [June 18, 2014, 2:23pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/17 "2014-06-18T14:23:44Z")

</div>

I just finished this tutorial and I thought it was great and super easy for a beginner like me to understand how Rails and Ember work in conjunction with one another.

---

<div class="post-metadata">

**Author:** ![nandosan](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/nandosan/32/267_2.png) [@nandosan](https://discuss.emberjs.com/u/nandosan)\
**Post date:** [June 23, 2014, 4:23pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/18 "2014-06-23T16:23:29Z")

</div>

Really good tutorial, probably the best I read about Ember-Data relationships (it would save me some good headache some time ago 🙂

Good job!

---

<div class="post-metadata">

**Author:** ![Panman8201](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/panman8201/32/17727_2.png) [@Panman8201](https://discuss.emberjs.com/u/Panman8201)\
**Post date:** [June 23, 2014, 6:59pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/19 "2014-06-23T18:59:27Z")

</div>

@nandosan Not to steal Vic’s thunder, but there was another really good Ember Data article mentioned on [Ember Weekly](http://emberweekly.com/) yesterday: [Ember Data: A Tutorial and Examples of the Ember.js Data Library | Toptal](http://www.toptal.com/emberjs/a-thorough-guide-to-ember-data)

---

<div class="post-metadata">

**Author:** ![nandosan](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/nandosan/32/267_2.png) [@nandosan](https://discuss.emberjs.com/u/nandosan)\
**Post date:** [June 23, 2014, 9:22pm UTC](https://discuss.emberjs.com/t/thorough-ember-tutorial/5615/20 "2014-06-23T21:22:58Z")

</div>

Its a bit embarrassing but I was thinking of that tutorial writing the comment… (I had the two of them opened at the same time…) However the tutorial of @vic_ramon is different but as good as Ember Weekly’s one. It uses a different a more “guided” approach that is probably better for anyone starting to learn ember. Sorry for the confusion…
