ひでメモ

プログラムについて勉強したことを書きます。たぶん。

Rails チュートリアルでモデル生成時に併せて erb ファイルが生成されない

Rails チュートリアルの下記あたりです。
第2章 Toyアプリケーション - Railsチュートリアル

以下のコマンドでモデルを生成しましょうというくだりがあるのですが、私の環境ではapp\views以下に erb ファイルが生成されませんでした。

rails generate scaffold User name:string email:string

調べるとrails generate scaffoldコマンドではconfig\application.rbを参照して生成をスキップするファイルを指定できるらしいので見てみました。

    # Only loads a smaller set of middleware suitable for API only apps.
    # Middleware like session, flash, cookies can be added back manually.
    # Skip views, helpers and assets when generating a new resource.
    config.api_only = true

上記のような記述があったため、コメントアウトして再度rails generate scaffoldコマンドを実行したところ正常に生成されました。

今は SPA が普通になっているので標準で erb ファイルは作らないようになっているのでしょうか。
厳密に Rails チュートリアルと同じ Cloud9 環境ではなくて、コンテナ環境なのでインストールしてるライブラリなどに差異があるせいで初期設定が違うとか…?

Laravel は使っているので Laravel で言うとあれだな、というのはわかるのですが具体的な設定方法などはまだまだわからず手探りで進めています。

追記

config\application.rbconfig.api_only = trueが指定されるのは API モードでアプリケーションを新規作成した場合だそうです。

Rails による API 専用アプリケーション - Railsガイド

rails new my_api --api

上記のようにオプションを付けたときに API モードで作成されるそうです(つけた記憶はなかったんですが…)