Hey folks! Last week wrapped up my second teaching assistant commitment, and while I managed to get myself invited back (barely) (I have more to say about this), I’m taking a break to focus on building skills and job seeking.
On the menu for today: let’s talk Rails 5. This’ll be short, since I need to dive into it.
BUT FIRST… version control.
Since I finished my Ruby on Rails training in 4.something, Rails released a beta version of 5.0, and Ruby has also released a new version, from 2.2 -> 2.3. I’ve fought hard against installing a ruby version manager after disastrous attempts with rvm and rbenv, which hate each other, and will leave your development environment totally FUBAR if you’re not careful. So I nuked everything and avoided any Ruby version control, until now– and now I know better, and there’s no longer any excuse. My instructor says “try chruby!” so chruby it is!
I followed these instructions… including the setup for powder, which is my Rails development server of choice. I installed Ruby 2.3.0 as default and 2.2.4 as a “so then we’ll have it”. Apparently I had been using a version of ruby called 2.2.3p173. Gross. No more!:
(Oh right, I have to update to El Capital also. Dammit.)
OK, ONTO RAILS:
So now we have software version control, sweeeeet. However, that version control does not extend to Rails, so how to play with the new version without destroying my current install (most recent stable version)?
Option 1: Clone the Rails repo and create a new Rails app from that starting point.
I followed this guide for how to clone the Rails repo and then create a new Rails API app using the latest beta version (“edge”):
Fun! This worked as expected. I did have to run a
bundle install before the
bundle exec rails new etc would work. If you go this route, at the end your gemfile will contain this line:
gem 'rails', github: "rails/rails"
Option 2: Create a Rails app like normal and then update the gemfile with desired Rails version
Do you really have to clone the entire Rails repo? Probably not, right? In my second attempt, I tried to teach an existing Rails app to use the new version. The latest beta release in rubygems.org has this language for your gemfile:
gem 'rails', '~> 5.0', '>= 5.0.0.beta2'
However, that did not work. This did!
gem 'rails', '5.0.0.beta2'
I had to run a bundle update after bundle install, but otherwise everything went smoothly.
COOL NOW WHAT?
Well, my install worked a bit TOO well, and now all new Rails apps are initiating with 5.0. That was not my intention, but it should be easy enough to switch back if needed. Funny enough, when I run a new Rails app now, this is what the gemfile looks like:
gem 'rails', '>= 5.0.0.beta2', '< 5.1'
YMMV. Gentle reminder: Rails 5 is not currently recommended for production environments.