I have been using Opal with the Vienna front-end framework and have really enjoyed it. Opal allows me to write ruby on the front-end and the back-end.<p>Many times I have tried to get excited about javascript, but just can't do it. In the end, I love ruby and can't force myself to love javascript.<p>Opal has been surprisingly stable and it allows me to run ruby anywhere you can run javascript. Vienna is still very alpha, but still gets the job done. The author says they are working on things such as two way data binding (the part I love about Angular)<p>In the end I hope that Opal becomes the standard for Rails, but even if it doesn't, I plan on using it for all my next projects.
I think that the RJS way is a perfectly good way to sprinkle some ajax magic into most applications that are, more or less, CRUD applications. I've done this in numerous simple CRUD apps and it allows for very rapid development.
If you need something more complex you can build the API in Rails and then use whatever javascript front-end framework you like.
This is more of a question of "the right tool for the job". If you are building a javascript client, your back end should be an API.<p>So the real question here is: is Rails good for building APIs? Yes. Are there other alternatives that may be better? Yes.
Rails 4 brought along Turbolinks which is a step in the framework direction. I really think those frameworks are overly complex anyway. I've never seen a site that used one and didn't suck to use (slow/buggy UI).