Skip to content

Instantly share code, notes, and snippets.

@taketo1113
Last active December 28, 2016 23:09
Show Gist options
  • Save taketo1113/3f420cdba4abcd91528e6f04347c4bbe to your computer and use it in GitHub Desktop.
Save taketo1113/3f420cdba4abcd91528e6f04347c4bbe to your computer and use it in GitHub Desktop.

Rails 4.2 -> 5.0 アップグレード

参考 URL

gem update

Gemfile

gem 'rails', '5.0.0.1'
  • bundle update

$ bundle update

config アップデート

  • rails app:update

$ bundle exec rails app:update

  • ファイル追加

config/initializers/locale.rb

# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
Rails.application.config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
Rails.application.config.i18n.default_locale = :ja

config/initializers/slim_engine.rb

# Indent html for pretty debugging
Slim::Engine.set_options pretty: true

spec

spec support

spec/support/request_macros.rb

module RequestMacros
  def request_login_user
    before(:each) do
      @loginuser = FactoryGirl.create(:login_user)
      post user_session_path, params: { user: {email: @loginuser.email, password: @loginuser.password } }
      follow_redirect!
    end
  end

  def request_admin_user
    before(:each) do
      @loginuser = FactoryGirl.create(:login_user)
      post user_session_path, params: { user: {email: @loginuser.email, password: @loginuser.password } }
      follow_redirect!
    end
  end
end

controller spec

Gemfile

gem 'rails-controller-testing'

spec/controllers

# get :show, params: { id: 1 }, session: { user_id: 1 }
# process :update, method: :post, params: { id: 1 }

db migrate

$ bundle exec rails db:migrate

migrate files

class DeviseCreateUsers < ActiveRecord::Migration[5.0]

app models

ファイル追加

  • app/models/application_record.rb

Class 継承

class HogeModel < ApplicationRecord
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
Rails.application.config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
Rails.application.config.i18n.default_locale = :ja
module RequestMacros
def request_login_user
before(:each) do
@loginuser = FactoryGirl.create(:login_user)
post user_session_path, params: { user: {email: @loginuser.email, password: @loginuser.password } }
follow_redirect!
end
end
def request_admin_user
before(:each) do
@loginuser = FactoryGirl.create(:login_user)
post user_session_path, params: { user: {email: @loginuser.email, password: @loginuser.password } }
follow_redirect!
end
end
end
# Indent html for pretty debugging
Slim::Engine.set_options pretty: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment