#226 Upgrading to Rails 3 Part 2
Here we continue upgrading an application to Rails 3 by getting our specs up and running and going through the rails_upgrade plugin.
Resources
- Episode 202: Active Record Queries in Rails 3
- Episode 203: Routing in Rails 3
- Episode 208: ERB Blocks in Rails 3
- Upgrading to Rails 3 Part 3
bash
bundle install
rails g rspec:install
rake rails:upgrade:check
rake spec
rails plugin remove rails_upgrade_check
bundle install rails g rspec:install rake rails:upgrade:check rake spec rails plugin remove rails_upgrade_check
Gemfile
gem "will_paginate", ">= 3.0.pre2"
group :development, :test do
gem "mocha"
gem "rspec-rails", ">= 2.0.0.beta.19"
gem "factory_girl_rails"
end
gem "will_paginate", ">= 3.0.pre2" group :development, :test do gem "mocha" gem "rspec-rails", ">= 2.0.0.beta.19" gem "factory_girl_rails" end
config/application.rb
require 'yaml'
APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__)))
# ...
config.autoload_paths += %W(#{Rails.root}/lib)
require 'yaml' APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__))) # ... config.autoload_paths += %W(#{Rails.root}/lib)
models/comment.rb
scope :recent, order("created_at DESC")
scope :recent, order("created_at DESC")
spec_helper.rb
config.include ControllerMacros
# specs
render_views
response.should have_selector('title', :content => 'Railscasts Comments')
config.include ControllerMacros # specs render_views response.should have_selector('title', :content => 'Railscasts Comments')
config/routes.rb
Railscasts::Application.routes.draw do
root :to => "episodes#index"
match "about" => "info#about", :as => "about"
match "contest" => "info#contest", :as => "contest"
match "feeds" => "info#feeds", :as => "feeds"
match "give_back" => "info#give_back", :as => "give_back"
match "login" => "sessions#new", :as => "login"
match "logout" => "sessions#destroy", :as => "logout"
resources :sponsors
resources :comments
resources :tags
resources :episodes do
collection do
get :archive
end
end
resources :sessions
resources :spam_questions
resources :spam_checks
resources :spam_reports do
member do
post :confirm
end
collection do
post :confirm
end
end
end
Railscasts::Application.routes.draw do root :to => "episodes#index" match "about" => "info#about", :as => "about" match "contest" => "info#contest", :as => "contest" match "feeds" => "info#feeds", :as => "feeds" match "give_back" => "info#give_back", :as => "give_back" match "login" => "sessions#new", :as => "login" match "logout" => "sessions#destroy", :as => "logout" resources :sponsors resources :comments resources :tags resources :episodes do collection do get :archive end end resources :sessions resources :spam_questions resources :spam_checks resources :spam_reports do member do post :confirm end collection do post :confirm end end end

