>While really nice for basic CRUD apps, as soon as you try to do anything advanced...
And what is there exactly so advanced that you want to do? You have a problem domain object model that you have abstracted as database tables. Is there anything Rails-specific in there? No. Your call, your design.
Then you have to present the objects to the world. Rails gives you REST. You may take it, or you may chose to increase complexity by adding your own methods... Hell, you can even put logic in the controllers, do as you like.
What is exactly bothering you with Rails? Rails just marshals http requests to database and back. Sinatra does the same, but then Rails have more community support and much more of those little snippets of code that just make your life easier. Nobody prevents you from writing your own helpers, if you don't like the Rails' ones.
Rails is just replacement for all the mundane, repeated and brainless tasks of handling those http calls - it lets you focus on the business logic, that's all. I challenge you to invent anything 'advanced' for which Rails (or Django, or Sinatra) are not good enough. The thing is - they are not there to make anything 'advanced'. They release you from managing infrastructure of your app. And 'advanced' stuff is completely up to you.
And what is there exactly so advanced that you want to do? You have a problem domain object model that you have abstracted as database tables. Is there anything Rails-specific in there? No. Your call, your design.
Then you have to present the objects to the world. Rails gives you REST. You may take it, or you may chose to increase complexity by adding your own methods... Hell, you can even put logic in the controllers, do as you like.
What is exactly bothering you with Rails? Rails just marshals http requests to database and back. Sinatra does the same, but then Rails have more community support and much more of those little snippets of code that just make your life easier. Nobody prevents you from writing your own helpers, if you don't like the Rails' ones.
Rails is just replacement for all the mundane, repeated and brainless tasks of handling those http calls - it lets you focus on the business logic, that's all. I challenge you to invent anything 'advanced' for which Rails (or Django, or Sinatra) are not good enough. The thing is - they are not there to make anything 'advanced'. They release you from managing infrastructure of your app. And 'advanced' stuff is completely up to you.