Der er ikke rigtigt nogen begrænsninger som sådan med Rails (eller Ruby, for den sags skyld). Ruby kan ikke så meget som udgangspunkt, men Rails og andre gems giver al den funktionalitet du kunne drømme om.
Rails er også utroligt snabbt at kode i, og du får lynhurtigt en masse pæn kode fra hånden som er nem at vedligeholde og meget portabel. Jeg kan bestemt anbefale at have Rails-erfaring med i bagagen.
Det sagt, så er Rails(og Ruby generelt) sløvt som bare pokker. Det er et af de absolut langsommeste web-frameworks derude, så hvis du skal bruge det på store deployments vil du få store performance-problemer. Twitter var oprindeligt skrivet i Rails, men de fandt meget hurtigt ud af at platformen ganske enkelt ikke kunne understøtte den traffik der var behov for. Derfor bruger Twitter nu Scala til det meste (Rails lever stadig, omend meget få steder, i Twitter-regi).
Personligt er jeg performance-fetishist, og Rails' performance alene er nok til at holde mig fra det til de fleste projekter. Jeg føler en begrænsning i og med at hvis mit projekt bliver en brændende success, kan jeg risikere at skulle skrive hele systemet om. Så vil jeg hellere udvikle i lynende hurtige CodeIgniter i PHP, der giver mange af de samme muligheder som Rails gør, til mange gange hastigheden.
Det er mine to cents; Konklusion: Rails er en rigtigt dejlig platform som er et must at have med i sin portfolio, og som kan være rigtigt appellerende til mange ting. Men det er hverken så hurtigt eller så portabelt som PHP er det, og det er man nødt til at have med i sine overvejelser.
NOTE: Når jeg siger langsomt mener jeg naturligvis under pres. Til "normale" sites og projekter af mellemstor størrelse vil Rails være rigeligt hurtigt. Men i spidsbelastninger og store deployments er det bare ikke godt nok