あっという間の十年ブログ【Ruby篇】

"詮ずるところ#{プログラミング}は、ただ年月長く倦まずおこたらずして、はげみつとむるぞ肝要にて、学びやうは、いかやうにてもよかるべく、さのみかかはるまじきことなり。いかほど学びかたよくても、おこたりてつとめざれば、功はなし。また、人々の才と不才とによりて、その功いたく異なれども、才不才は、生まれつきたることなれば、力に及びがたし。されど、大抵は、不才なる人といへども、おこたらずつとめだにすれば、それだけの功は有る物なり。" - 本居宣長

Railsチュートリアルも終わりが見えてきたというのに…

Railsチュートリアル13章「リスト 13.54:間違ったユーザーによるマイクロポスト削除に対してテストする」で、test/controllers/microposts_controller_test.rbに

  test "should redirect destroy for wrong micropost" do
    log_in_as(users(:michael))
    micropost = microposts(:ants)
    assert_no_difference 'Micropost.count' do
      delete micropost_path(micropost)
    end
    assert_redirected_to root_url
  end

を追加すると…

ActiveRecord::StatementInvalid: SQLite3::BusyException: database is locked
            app/models/user.rb:33:in `remember'
            app/helpers/sessions_helper.rb:10:in `remember'
            app/controllers/sessions_controller.rb:10:in `create'
            test/test_helper.rb:30:in `log_in_as'
            test/integration/users_index_test.rb:11:in `block in <class:UsersIndexTest>'

こんなエラーや

ActionView::Template::Error: Asset `application.js` was not declared to be precompiled in production.
        Declare links to your assets in `app/assets/config/manifest.js`.

          //= link application.js

        and restart your server

こんなエラーがたくさん出てきて、ちょっとお手上げ状態。

やっぱりJavaScriptまわりでspocketやらimportmapをなおざりにしていたツケがここにきて…。Rails7から6にして最初からやり直すか…? いつかそうしようと思っていたことだし。

追記:
上の記事を書いている間に、なんとRailsチュートリアル第7版がリリースされてたみたい。すごいタイミングだ。(神の思し召し?)
note.com
Importmapの解説とか、デプロイ先が無料が終わりそうなHerokuからRenderに変わるそう。このビッグウェーブ、乗るしかない。