LoginSignup
0
0

More than 1 year has passed since last update.

[Rails] アプリケーションの雛形作成

Posted at

はじめに

新規アプリケーションをRailsを使って開発を始める時、いつも手順や設定をどうだったかなと悩みます。
ですので私が習った通りのアプリケーションの雛形作成をまとめてみました。

アプリの雛形を作成する

Railsでアプリケーションを作るときは、ターミナルで「rails new」コマンドを入力します
アプリケーションの名前もここでつけてあげます。

Railsのバージョンによってプログラムの書き方が変わる場合があるので必要があれば、バージョン指定してあげることが可能です!私はバージョン6.0.0を指定します。(ちなみに何も記入しなかったら、PCにインストールされている最新バージョンで作成されます。)

また、このとき、「 -d 」を付けることで、オプションでデータベースの指定もできます。

私はmysqlというデータベース管理システムを使います。
上記のことを踏まえて、ターミナルに打ち込みます。

ターミナル
% rails _6.0.0_ new sample-app -d mysql

このとき、自分がターミナル上で、アプリケーションを作成したいディレクトリ上にいることを確認して、実行してください

できたら、ターミナルが、物凄いややこしそうな処理を自動でやり始めるので、暖かい目で見守ってあげてください
ターミナルで「Webpacker successfully installed 🎉 🍰」と表示されたら、自分が名付けたディレクトリが出来上がっているので、VSCodeでそのディレクトリを開いて確認します。

設定を変更

データベースを作成する前に、今作成したアプリケーションの雛形のconfigディレクトリの中にあるdatabase.ymlというファイルの中の記述を変更します。

encoding: utf8mb4という記述をencoding: utf8に変更します。

config/database.yml
default: &default
  adapter: mysql2
  # encoding: utf8mb4 ←この記述を変更
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
  socket: /tmp/mysql.sock

実はこれに関しては私もよくわかっていません
文字を何バイトで表現するのかを設定する記述みたいです。

後者のutf8 の方が汎用性があるとか、前者よりメジャーだから変更するのかな?
わかる方いれば教えてください

私は一応、そう習ったのでアプリ作成の前のルーティンとしてこの作業を行なっています。
もしこの作業をされる方は、必ずデータベース作成前に行いましょう!

データベース作成

現在はアプリケーションの中で扱うデータを保存できない状態です。
データベースを作ることで可能になります。

ターミナル
% rails db:create

実行して完了です。ちなみに消す時はrails db:dropです。

サーバーを起動

アプリケーションを動かすためには、サーバーを動かさなければなりません。
ターミナル上(開発中のアプリのディレクトリに移動して)で

ターミナル
% rails s

を実行すると、サーバーが起動します。
一番下に「Use Ctrl-C to stop」と書かれていればオッケーでしょう。

止めるときは書かれている通り、Ctrlキー + Cで止まります。

この状態で、ブラウザで「localhost:3000」にアクセスすると、何にも記述していない場合は、デフォルトでRailsの民?たちがこっち向いて手を手をふってくれています 笑

これが中身すっからかんのアプリケーションです!

ちなみに、これはローカルサーバーなので、サーバーを立ち上げたパソコンでしかこのアプリケーションにアクセスできません。

以上でアプリケーションを作るための下準備は完了です。

まとめ

この手順の中でもありましたが、私は何のために記述しているかわからないけども、そう習ったからという理由で記述しているブラックボックス状態の作業があったりします。もちろん検索かけて、調べていますが理解しきれていないといった感じです。

これから、そのような部分も解消し、文章化していけたらいいなと考えています。とりあえずは習ったことを忠実に、そしてなぜこの作業が必要なのかと考えながら学習を進めていきます。まずは守破離の守を確実に。

0
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
0
0