1
0

More than 1 year has passed since last update.

Railsで環境構築

Last updated at Posted at 2022-03-09

今回Railsの学習中に使用したので自分用のメモとしてまとめてみました。
homebrewやrbenvの設定は終わっている想定です。

Railsのインストール

以下のコマンドを実行します。
バージョンはプロジェクトに合わせて変更してください。

$ gem install rails -v "5.2.3"

インストールが完了したら以下のコマンドでバージョンを確認してみましょう。

$ rails -v

指定したバージョンが表示されればOKです。

Railsアプリケーションの作成

Railsアプリケーションを新規作成していきます。
アプリケーションの新規作成には以下のコマンドを使用します。
アプリ名は仮に「sample」とします。

$ rails new sample -d mysql

上記のコマンドは sample という名前のRailsアプリケーションを作ります、データベース管理システムは MySQL で作ります、ということを意味しています。

Railsアプリケーションへの移動・立ち上げ

先程作成したsampleフォルダに以下のコマンドを使用して移動しましょう。

$ cd sample

そして

$ rails s

テストサーバーを立ち上げてみます。

その状態で http://localhost:3000/ にブラウザでアクセスできればOKです。

Railsアプリケーションの構成

appディレクトリ

ディレクトリ名 なにが入っているか 役割
assets CSSファイル、JSファイル、画像 デザインに関すること
controllers コントローラ モデルに命令を出し、ビューにデータを渡す
helper ヘルパー ビューで使う自作メソッドを定義
models モデル データベースとのやりとり
views ビュー 見た目の部分(HTMLの素)

configディレクトリ

ディレクトリ/ファイル名 役割
environments 環境ごとの設定
initializers Gemやクッキー、セッションの設定
helper ヘルパー
models モデル
views ビュー

dbディレクトリ

ディレクトリ/ファイル名 役割
migrate マイグレーションファイル
schema.rb DB内のテーブルの状況
seeds.rb 初期データを作成するファイル

Gemfile

Gemfileはインストールしたいgemを書くためのファイルです。 Gemfileのすぐ下に Gemfile.lock というファイルがあり、実際にインストールしたgemやバージョンが書かれています。
gemは以下のコマンドでインストールできます。

$ bundle install

bundle

bundleはbundlerというgemのバージョンを管理してくれる機能です。

rails g (generate)

rails g コマンドは、rails new コマンド で作ったRailsアプリケーションの土台に中身を盛り込んでいくためのコマンドです。

$ rails d scaffold tweet title:string content:text
コマンド コントローラ ビュー モデル マイグレーションファイル ルーティング
controller × ×
model × × ×
migration × × × ×
scaffold

DBの作成

Railsでは config/database.yml というファイルを編集することで、データベースの設定を
運用環境ごとに変更できる仕組みになっています。
encodingがutf8mb4となっていればutf8に変更します。

config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password
  socket: /tmp/mysql.sock

最後に以下のコマンドでDBを作成します。

rails db:create
1
0
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
1
0