Railsで作ったAPIのテストを全通させて学んだこと
RailsWay から外れるのは辛い
今回はModelを使わないRailsAPIを作っているのだが、アプリケーションからDBを切り離そうとするとそれだけで苦戦するので、最初からRubyだけで作った方が楽なのかもしれない。
また、gem同士の依存関係が強くRSpecもDBの接続ありきで作られているので大変だ。それ以外にもStorageとかなんやかんや.... (苦悶の表情)
魔法が多すぎる
これは覚えろというしかないのだが、自明的でない機能が多い気がする。対象が糖衣に包まれすぎると慣れた者にとっては作業が早くなるかもしれないが、その他大勢にとっては理解の妨げにしかなりえないと感じている。
IDEによる予測変換が頼りにならない
今回VSCodeを使っているのだが、Solargraphなどの予測変換機能がrequire
で導入元を明示しないと動かないのだ。
Railsでは一定のルールを守るとrequire
を使わなくてもクラスなどを利用できる機能があるのだがこのメリットが死滅している。
(もしかしたら私の設定方法が悪いのかもしれないが)
ドキュメントがめっちゃある
新規ユーザー(初心者)が多く使う言語なので、問題があっても困ったら調べればすぐに出る。 環境設定以外は...
コマンドによって実行環境が異なる場合がある
これには盛大にハマった
例えばrspec
とbundle exec rspec
この二つは何が違うのだろうか?
これはつまりRuby上で実行する
かRails上で実行する
かの違いだ。
これを知らないとソース上でRailsの機能を使用している場合rspec
を使うとケースが全落ちしてしまう。
他の言語だと意識しなかったところでもあるため気をつけたい。
クラスが定義されてない系のエラーが出たら、実行環境の問題を疑うことを心がけような。