4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rails 7 通常モードとAPIモードの差分

Last updated at Posted at 2023-06-18

はじめに

Ruby on Rails 7 の学習中、通常モードとAPIモードの違い(差分)が気になったので簡単にまとめてみました。

動作環境

Rails 7.0.5

主な差分

  • APIモードではappディレクトリ下のassetsjavascriptディレクトリが無い
  • Gemfileの内容が異なる
  • configディレクトリ下のいくつかの設定ファイルの内容が異なる

これら以外にも、こまごまとした違いがいくつかありました。
この中で一番違いが見られたGemfileについて以下でもう少し掘り下げていきます。

Gemfileの違い

RubyGems.orgの各Gemページにリンクしてあります。

通常モードのみ記載があるGem (APIモードでは未記載)

  • sprockets-rails
    • JavaScript、CSS、画像などの静的アセットを管理、圧縮、最小化するためのgem。
  • importmap-rails
    • JavaScriptモジュールを効率的にインポートするためのマッピングを管理するgem。
  • turbo-rails
    • RailsアプリケーションにHotwireの一部であるTurboを統合するgem。
  • stimulus-rails
    • StimulusというJavaScriptフレームワークをRailsアプリケーションに統合するgem
  • web-console
    • 開発中、エラーが発生した際、ブラウザ上で対話的なコンソール(REPL)を提供するgem。デバッグ用。
  • capybara
    • 自動化ブラウザテストのためのgem。ユーザーがブラウザで行うアクションをシミュレートすることが可能。
  • selenium-webdriver
    • ブラウザの自動化テストを可能にするgem。JavaScriptを含む動的なWebページをテストするために使用。
  • webdrivers
    • ブラウザ用のWebDriverのインストールと管理を自動化するgem。CapybaraやSeleniumと組み合わせて使用。

capybara ~ webdrivers の3つはテスト関係のgem

デフォルトではコメントアウト

両モード記載があるがAPIモードではデフォルトでコメントアウト

  • jbuilder
    • JSONのビューを作成・管理するためのテンプレートエンジンgem
  • rack-cors
    • CORS (Cross-Origin Resource Sharing)のルールを設定し、クロスオリジンのHTTPリクエストを管理するgem。

おわりに

APIモードという機能の特性を踏まえると当然と言えば当然な差ですが、実際に見比べ、gemを調べることによって学びが深まりました。

今回私はエディターの差分チェック機能で検証しました。
他にもLinuxコマンドのdiffやGitHubでコミット間・ブランチ間の差分を確認する方法があるので、気になった方はぜひご自身でチェックしてみてください。

最後までお読みいただきありがとうございます。
記事内に不備がありましたら遠慮なくご指摘いただけると嬉しいです。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?