こんにちは。
ブロックチェーン企業を辞めてニートになったじゅんや(@BoNingennnN)です。
私は個人開発が好きで、よくrails newをしています。
仕事でも、時々rails newをしてゼロイチを担当しています。
あまり需要がないかもしれませんが、私がrails newをする際によく指定するオプションと、rails newをした後によく行う設定についてメモがわりに書いていきます。
rails newする際によく使うオプション
いきなりですが、私が最近rails newをした時に使ったコマンドを紹介します。
(1つ1つのオプションの説明は下に書きます。)
rails _5.2.2_ new appname --database=mysql --skip-test --skip-turbolinks --skip-bundle
これが私がよく使うrails newのコマンドです。
ここからはそれぞれのオプションについて1つずつ説明します。
Railsのバージョンの指定
まず最初にRailsのバージョン指定についてです。
rails _5.2.2_ new appname
このようにすることで、Rails5.2.2でnewすることができます。
5.2.2の部分に好きなバージョンを入れることで、そのバージョンでnewできます。
データベースの指定
rails newをする際に、何も指定しないと、データベースのデフォルトはsqliteになります。
もちろんrails newした後に変更することも可能ですが、すでにどのデータベースを使うか決まっている場合は最初に指定してしまいましょう。
rails new appname --database=mysql
これはmysqlを使う場合のコマンドです。Potgresqlを使いたいときは以下のコマンドでいけます。
rails new appname --database=postgresql
turbolinksをオフにする
turbolinksを使うことで、ページ遷移する際に通常のページ移動ではなく、ajaxで取得したhtmlでbodyを入れ変えることでページ遷移を実現してくれます。
普通のページ遷移より素早く遷移ができるのが利点です。
turbolinksを使うと(document).ready()などが発動しないといったこともあり、一部の人に煙たがられています。笑
もしturbolinksをデフォルトでオフにする場合は以下のようにrails newをしましょう。
rails new appname --skip-turbolinks
Minitestを生成しないようにする
Railsのプロジェクトを普通に作ると、Minitestがデフォルトで入ってきます。
Minitestを使う人であればこれで問題ないですが、もしテストはRSpecだよという人がいればMinitestが生成されないようにあらかじめ設定しておきましょう。
rails new appname --skip-test
Railsのプロジェクトを作ってからすぐ行う設定
続いて、rails newをした後によく行う作業について書いていきます。
localeを変更する
まずデフォルトのlocaleの設定をいじります。
ここでは、デフォルトの言語を日本語とし、英語対応も想定した設定とします。
またタイムゾーンは東京をデフォルトにします。
(ちなみに注意することとしては、本番サーバーのtimezoneも変更し忘れないようにすることです。私は本番サーバが世界標準時基準になってて色々つまずきました。)
class Application < Rails::Application
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
config.i18n.available_locales = [:en, :ja]
config.time_zone = "Tokyo"
end
RSpecを導入する
minitestを使わない代わりにRSpecを使います
group :development, :test do
gem 'rspec-rails'
end
RSpecの導入については別記事で詳しく書きます。
(書きました→RailsにRspecをいれてモデルのテストを書いてみよう[初心者向け])
とりあえず一旦ここまでにします。
また時間のあるときに加筆します🙇♂️