LoginSignup
55
37

More than 3 years have passed since last update.

【Rails】rails g controllerコマンドで特定のディレクトリ以下にファイルを生成するコマンド

Last updated at Posted at 2020-01-06

はじめに

通常はcontrollers/以下に作成されてしまうコントローラーを、特定のディレクトリ以下に作成するコマンドです。

環境

OS: macOS Catalina 10.15.1
Ruby: 2.6.5
Rails: 6.0.2.1

通常

今回は、posts_controllerindexアクションとcreateアクション付きで作成する場合を例にします。

通常は、以下のようにして作成しますがこのままではapp/controllers/ディレクトリ内に作成されます。

$ rails g controller posts index create

これをcontrollers/api/v1/内に作成したい場合は、以下のようにします。
 

api/v1/以下に作成する場合

$ rails g controller api/v1/posts index create

もしくは

$ rails g controller api::v1::posts index create

どちらも同じように動作します。

※余談 不要なものをgeneratorで生成したくない場合

例えば、scssファイルとhelperファイルが不要だったりする場合は、以下のように設定すればOKです。

$ rails g controller api/v1/posts index create --no-assets --no-helper

もしくは、application.rbで以下のよう作成したくないものに対してfalseを設定するとコマンドで入力しなくても、作成されなくなります。

config/application.rb
    config.generators do |g|
      g.template_engine false 
      g.assets false
      g.helper false
      g.test_framework :rspec,
                        view_specs: false,
                        helper_specs: false
    end

例えば、上記の設定では

  • viewファイル(デフォルトではerb
  • assetsファイル(scss)
  • helperファイル
  • RSpecのviewhelperに関するspec

rails gコマンドでは自動生成されなくなります。

おわりに

最後まで読んで頂きありがとうございました:bow_tone1:

どなたかの参考になれば幸いです:relaxed:

参考にさせて頂いたサイト(いつもありがとうございます)

55
37
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
55
37