Help us understand the problem. What is going on with this article?

Rails4.2 -> Rails5.1.2 にアップグレードした際のメモ

More than 1 year has passed since last update.

アップグレードガイドにあるものは割愛してます。

依存している gemの更新

bundle update rails

だとら埒があかないため、全部update

quiet_assets は取り込まれたので削除
http://docs.komagata.org/5348

migrationのバージョニング

migrationを作成したバージョンを付与すると最適に振る舞ってくれる

class CreateUsers < ActiveRecord::Migration[4.2]
end

面倒だったけど [4.2] を全部つけた。

attribute_wasがdeprecated

https://github.com/rails/rails/pull/25337#issuecomment-225166796
before と after それぞれのcallbackで値の意味が変わる(save,_createなど)
attribute_in_database は before だと変更前、 after
* だと変更後になる
わかりやすくなったが、メソッドの数が増えて複雑化している。

コントローラのテスト

getなどの引数
https://stackoverflow.com/questions/43797133/controller-spec-unknown-keyword-id
paramsが必須

post :create, params: { name: "hoge" }

一番面倒だった

ActiveSupport::MessageEncryptor

http://nisshiee.hatenablog.jp/entry/2017/04/17/192703
何も考えずにsecretに32バイト以上の文字列を入れていたら、 key must be 32 bytes と怒られた

APIドキュメントのようにKeyGeneratorを使う

ActiveRecord の uniqがdeprecated

http://qiita.com/zenpou/items/950432bae246063786e8#activerecord%E3%81%AEuniq-%E3%81%AF-distinct%E3%81%AB
uniqを呼び出すとArrayが返る。distinctを使う。
とっても怖い仕様変更。

Turbolinks5

ロード時の処理

turbolinks.load を使う
turbolinks-jquery は不要だったので外した

application.rb
$(document).on("turbolinks.load", function() {
});

data-turbolinks-track 属性

trueから"reload"にかえないとダメらしい。

application.html.erb
<%= javascript_include_tag "application", "data-turbolinks-track" => "reload" %>

プログレスバー

https://github.com/turbolinks/turbolinks#displaying-progress

色変えただけ

.turbolinks-progress-bar {
  background-color: #f90;
}

AdminLTE

http://www.takuyai.com/articles/28

  $.AdminLTE.layout.fix();

migration

http://y-yagi.tumblr.com/post/142064773890/rails-5%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%9Fdb%E7%A0%B4%E5%A3%8A%E7%B3%BBtask%E3%81%AE%E9%98%B2%E6%AD%A2%E5%87%A6%E7%90%86%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

破壊防止措置らしい

bin/rails db:environment:set RAILS_ENV=development
bin/rails db:migrate:reset
housmart
ハウスマートはテクノロジーとデザインと不動産の専門知識を融合させ、「住」の概念をもっと自由なものに進化させます。
http://techblog.housmart.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away