@ledsun blog

無味の味は佳境に入らざればすなわち知れず

React on Ruby on Railsの素振り

Ruby on RailsとReactの連携の仕方がイマイチ理解できていないので、簡単なアプリケーションを作って勉強します。 4月生まれのホットな動画を見つけたのでこちらを参考にします。

www.youtube.com

動画でなくテキストがお好みの人は、GitHub - zayneio/open-flights: OpenFlights - A CRUD app example built with ruby on rails and react.js using webpacker で、手順が公開されているので御覧ください。

Typoに苦しみながらもSerializerの生成までは上手く行きました。 しかしRails consoleでSerializerの動作確認をしたいのに、Serializerの読み込みが上手く行きません。

次のようにuninitialized constant AirlineSerializerが表示されます。

~ bundle exec rails c
Running via Spring preloader in process 47499
Loading development environment (Rails 6.0.3.1)
irb(main):001:0> AirlineSerializer
Traceback (most recent call last):
        1: from (irb):1
NameError (uninitialized constant AirlineSerializer)

最初「Rails6でやっているので、コードローダーがzeitwerkに変わったからかな?」と思ったのですが、参考にしている動画もRails6です。関係ありません。 仕方がないので、雑にfast jsonapi uninitialized constantでググって次のissueを見つけました。

Uninitialized Constant on Namespaced Controller · Issue #98 · Netflix/fast_jsonapi · GitHub

Doing a spring stop and then restarting server/console should fix it in those cases (for anyone that finds this later on).

ああ、springお前だったのか!

Reactに辿り着く前に力尽きましたとさ。おしまい