After getting a decent amount of my Ruby on Rails school project done, I needed to deploy it. The recommended way to do this was through Heroku. I am personally now a fan of Heroku, but I do not claim to know all (or even much) about it. I just followed some guides from their website about deploying a Ruby on Rails app. Honestly this could have been a painless process if I had known what I was doing from the start. The next time that I am creating a proeject and I know that I am going to deploy it to Heroku, I am going to start off differently by deploying the default project before I start actually making anything. I had some weird integer error that I could not complete figure out. I wish I still had the exact logs where the error came from. The logs told me that there was a base64 error, but I could not track down where the actual error stemmed from. It turned out that the master key that I uploaded did not properly match what Heroku was trying to use, so Heroku could not decrypt anything. The fix was to set an environment variable in Heroku using
heroku config:set RAILS_MASTER_KEY=<config/master.key> where
<config/master.key> is the contents of that file in your Rails app.
To me Heroku is a great way to easily deploy a web application without having to go through all of the hardcore hosting troubles that I feel like you would normally have to. Best of all is that it is free for hobbyists. You can easily scale your application and give it a real domain name, but if you just want to mess around and throw an app up onto the web, this is probably one of the easiest ways to do that.