The problem with the local development is that normally you don't bother about the infrastructure. For example frontend webserver or we forget which gems are installed in our development environment. To really try to simulate your production environment you should install the apache webserver + Passenger (passenger is the mod_rails, a module to run rails in the apache webserver).
Some tips that i give you are: Install the same sql server that you pretend to use in production (avoid to develop using sqlite3 and put in production running mysql), use the apache + passenger locally in your development workstation and write in a document EVERY GEM that you installed since you started your development (maybe the output of command gem list will help you to identify what you are using).
Something that i like to do is: I run a virtual machine (virtualbox) running the same OS that i will run in production, with all necessaries pieces of software that i need and i start early to do a deploy in my virtual machine. With this approach since the first test i know already how my application will work in production, avoiding too much surprise in the future.
So in the bottom line: Think about infrastructure, keep consistence and deploy early. With these 3 steps you will have good chance to be successful with your RoR development.