dilithiumH3
Of course, it would be plain stupid to try to get involved in a discussion without actually getting into reasoning for the conclusion but then there is no solution to stupidity.
Most of the work that I have done, ranging from device drivers to now, distributed systems, my macbook air sufficed. Programming has never 'required' me to have a retina display. If you asked the question with the context of media or photo editing, my answer would be different.
My setup is as follows: 1. Macbook air 11" (portability is the key) 2. Apple wireless keyboard and mouse 3. Apple 27" display connected via thunderbolt. (wired network). You may substitute with any other good monitor.
The desktop setup is just a plain must. Anyone who says 11" or 13" or even 15" is enough for working, has just never worked on a big screen long enough. It just increases your productivity by an order of magnitude. Imagine the time saved by having multiple windows/terminals and documentation right in front of you and not having to switch between the two.
So, to end it all. Get a decent compact machine that you can take with you, and use on the go. And get yourself a good desktop setup when you want to get serious stuff done. Also, the desktop setup (personally) focuses you into a simple and distraction free zone, allowing you to be more productive.
In your case you would probably want to serve the content(resources) using REST. I am not particularly sure how this is done in Rails but it shouldn't be tough to have your objects serialized into json. You would then write AJAX code in your frontend/client code to interact with the backend via the API.
Coursera is a good place to start.