Kawaii Lab

プログラミングとかサービス開発とか

Railsで作ったAPIのテストを全通させて学んだこと

RailsWay から外れるのは辛い

今回はModelを使わないRailsAPIを作っているのだが、アプリケーションからDBを切り離そうとするとそれだけで苦戦するので、最初からRubyだけで作った方が楽なのかもしれない。
また、gem同士の依存関係が強くRSpecもDBの接続ありきで作られているので大変だ。それ以外にもStorageとかなんやかんや.... (苦悶の表情)

魔法が多すぎる

これは覚えろというしかないのだが、自明的でない機能が多い気がする。対象が糖衣に包まれすぎると慣れた者にとっては作業が早くなるかもしれないが、その他大勢にとっては理解の妨げにしかなりえないと感じている。

IDEによる予測変換が頼りにならない

今回VSCodeを使っているのだが、Solargraphなどの予測変換機能がrequireで導入元を明示しないと動かないのだ。
Railsでは一定のルールを守るとrequireを使わなくてもクラスなどを利用できる機能があるのだがこのメリットが死滅している。
(もしかしたら私の設定方法が悪いのかもしれないが)

ドキュメントがめっちゃある

新規ユーザー(初心者)が多く使う言語なので、問題があっても困ったら調べればすぐに出る。    環境設定以外は...

コマンドによって実行環境が異なる場合がある

これには盛大にハマった
例えばrspecbundle exec rspec
この二つは何が違うのだろうか?

これはつまりRuby上で実行するRails上で実行するかの違いだ。
これを知らないとソース上でRailsの機能を使用している場合rspecを使うとケースが全落ちしてしまう。
他の言語だと意識しなかったところでもあるため気をつけたい。
クラスが定義されてない系のエラーが出たら、実行環境の問題を疑うことを心がけような。