101
103

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 2019-04-16

こんにちは。
ブロックチェーン企業を辞めてニートになったじゅんや(@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も変更し忘れないようにすることです。私は本番サーバが世界標準時基準になってて色々つまずきました。)

config/application.rb
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を使います

Gemfile
group :development, :test do
  gem 'rspec-rails'
end

RSpecの導入については別記事で詳しく書きます。
(書きました→RailsにRspecをいれてモデルのテストを書いてみよう[初心者向け])
とりあえず一旦ここまでにします。
また時間のあるときに加筆します🙇‍♂️

101
103
2

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
101
103

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?