個人的に「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
コマンド使用時に、不要ファイルを生成しないように設定
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
にアクセスするとエラーが発生する場合があります。
なので「特に今は日本語化はいいかな。エラー出るとだるいし」と思う方はこちらは特別設定しなくても良いと思われます。