rails new からのセットアップ

標準的なセットアップ内容と手順

廃文書 | As of 2021.3.3
  • 暗号化:bcrypt をインストール
  • 国際化:rails-i18n をインストール
  • 環境変数:dotenv-rails をインストール
  • rspec をインストール
  • factory bot をインストール
  • タイムゾーンとロケールの設定

Terminal で実行

rails new app_name -d postgresql --skip-test-unit --skip-bundle
cd app_name/
touch .env .env.sample

Gemfile に追記及びコメントアウト

gem 'bcrypt', '~> 3.1.7'
gem 'rails-i18n', '~> 6.0.0'
gem 'dotenv-rails', '~> 2.7.6'

group :development, :test do
  gem 'factory_bot_rails', '~> 6.1.0'
  gem 'rspec-rails', '~> 4.0.1'
end

group :development do
  gem 'spring-commands-rspec'
end

# gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Terminal で最新安定版を調べる

gem list -re rspec

config/database.yml に追記

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: db
  username: <%= ENV['DB_USER'] %>
  password: <%= ENV['DB_PASSWORD'] %>

Terminal で実行

bundle
rails db:create && rails db:migrate
rails g rspec:install && bundle exec spring binstub rspec

.rspec に追記

--color
--format documentation
--warning

config/application.rb に追記

module AppName
  class Application < Rails::Application
    config.time_zone = "Tokyo"
    config.i18n.load_path += Dir[Rails.root.join("config", "locales", "**", "*.{rb,yml}").to_s]
    config.i18n.default_locale = :ja

    config.generators do |g|
      g.test_framework :rspec,
        helper_specs: false,
        routing_specs: false,
        view_specs: false
    end
  end
end

config/environments/test.rb に追記

Rails.application.configure do
  host = 'localhost:3000'
  config.action_mailer.default_url_options = { host: host, protocol: 'http' }
end

config/environments/development.rb に追記

Rails.application.configure do
  host = 'localhost:3000'
  config.action_mailer.default_url_options = { host: host, protocol: 'http' }
end

.gitignore に追記

/.env

Terminal で実行

rails webpacker:install
git add .
git commit -m 'Basic Setup'