When choosing the back-end programming platform for a application, I generally start with one question? is this an enterprise application? If the answer is yes, then it is best to use the back-end programming platform that is inherent in your organization. Since my organization is based on Microsoft products, I build my ERP apps using ASP.Net and C# on the back-end.
The Right Tool For The Problem
There will always be niche languages that exist for no other reason than the fact that some programmers just want to be different for the sake of being different. Ruby on Rails appears to me to be one of those languages. And God bless the programmers who use it, they really are making some incrediblly great applications and websites. I just cannot see any discernable reason to choose Ruby over the alternatives except for just thumbing your nose at the existing institutions.