0
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 3 years have passed since last update.

rails newする際のオプションとrails newした後に行う設定

Last updated at Posted at 2020-09-09

個人的に「rails newをする際によく使うな」と感じるオプションと、新規プロジェクトを作成したときによく行う設定を備忘録を兼ねてまとめます。

rails newをする際のオプション

まずはrails newをする際によく付けるオプションについてです。
一つ一つのオプションについては後述します。

rails _6.0.3.2_ new appname --database=mysql --skip-test

railsのバージョン指定

rails _6.0.3.2_ new

こうするとrailsのバージョンを指定することができます。
_6.0.3.2_の部分はその都度値を変えてください。

使用するデータベースの指定

--database=mysql

このようにDBを指定しないと、デフォルトのDBはsqliteというものになります。
今回はmysqlを使用する設定です。

Minitestを生成しない

--skip-test

デフォルトでプロジェクトを生成すると、Minitestというものが作られます。
私自身、テストにはRSpecを使用することが多いため、上記のようにMinitestを生成しないようにしています。

rails newした後に行う設定

ここからは実際にrails newをした後の設定となります。

rails gコマンド使用時に、不要ファイルを生成しないように設定

config/application.rb
module appname
  class Application < Rails::Application
    # 以下を追加
    config.generators do |g|
      g.stylesheets false
      g.javascripts false
      g.helper false
      g.test_framework false
    end
    config.time_zone = "Tokyo"
    config.i18n.default_locale = :ja
  end
end

今回主に追加したのは下記の部分です。

config.generators do |g|
  g.stylesheets false
  g.javascripts false
  g.helper false
  g.test_framework false
end

rails gコマンドでコントローラを作成すると、ファイルが自動的に生成されてしまいますが、不要なもの(coffeeやcss)を生成しないようにするのがこの記述です。
rails gコマンドは開発の過程で頻繁に使用するものなので、この設定を最初に済ませておくと非常に楽になります。

config.time_zone = "Tokyo"
config.i18n.default_locale = :ja

また、こちらでデフォルトの言語を日本語にし、タイムゾーンのデフォルトを東京に設定します。

config.i18n.default_locale = :ja

ただ、上記(日本語化)については注意があり、deviseのGemを使用した時にusers/sign_upにアクセスするとエラーが発生する場合があります。
なので「特に今は日本語化はいいかな。エラー出るとだるいし」と思う方はこちらは特別設定しなくても良いと思われます。

0
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
0
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?