Although it isnt the most popular JS framework amongst Rails devs these days, I am still huge a fan of Backbone. It's small enough to hold the entire code base in my head, yet extremely powerful and flexible. As opposed to some of the more opinionated JS frameworks, it does make you think about the architecture of your app and doesn't provide much in the way of scaffolding / helpers so it does leave it up to you to write what many call boilerplate code.
I have been reading Ember.js In Action and it definitely has a steeper learning curve, but can see why so many Rails devs love it. It makes a lot of decisions for you, and has a lot of convenient tools that make development pretty snappy.
I personally think I'll stick with Backbone for now, but maybe I will change my mind and switch to Ember after playing around with it on some side projects.