LoginSignup
0
1

More than 3 years have passed since last update.

Railsのプロジェクト作成時の手順をまとめてみる

Last updated at Posted at 2020-03-07

はじめに

エンジニアになる為に勉強中。Railsを使ったWEBアプリケーション開発をベースに学習を進めています。
・・・ので、今後よく出くわすであろうRailsでのプロジェクト作成に慣れていきたい!と感じました。
正直、数こなせば自然と体が覚えるだろうと思ってはいるのですが・・・早い段階でまとめておけばメモ代わりになるかなーなんて思って記事投稿してみました(笑

この記事について

  • 環境構築はすでに終わっている前提で書いていこうと思っています。
  • プログラミング初学者の記事です。記事の中に認識が誤っている部分があるかもしれません(汗
  • 上記理由から、同じく経験が浅い方はあまり参考にしないことをお勧めします!

プロジェクトの雛形〜rails sでローカルサーバー立ち上げまで

プロジェクトの雛形作成をしよう

まずは、プロジェクト作成の場所を決めます。
デスクトップに「projects」というディレクトリを作るもよし、ホームディレクトリ(家のアイコン)の配下に「projects」というディレクトリも作るもよし。
作ったら、ターミナルを起動して、"cd"コマンドを駆使して「projects」フォルダまで移動。

#コマンド
 ユーザ名 $rails new アプリケーション名 -オプション名

#Railsのバージョンを指定したいならこっち
 ユーザ名$ rails _○.○.○_ new アプリケーション名 -オプション名

 ・アプリケーション名:これから作りたいプロジェクトの名前
 ・オプション名: mysqlの環境設定をするなら、-d mysql

オプション名については、他にも-skip-turbolinks(ajaxで取得したhtmlでbodyを入れ変えてページ遷移できようになるとか・・・)とか色々あるっぽいけど、今の知識じゃ「貴様にはまだ早い。」状態なので深追いはやめます(苦笑

ところで・・・railsって、今現在どのバージョンが使用率高いんですかね?
調べてみたもののRailsが下火になっているっていう悲しい情報ばかり出てくる・・・。

Bundle installをしよう

・・・の、前に準備

アプリ作成時に必要となるライブラリなどをインストールする必要があるので、bundle installを実行したい。
・・・けど、その前に手動で追加が必要なgemも合わせてインストールすると楽かも。

①rails newで作ったプロジェクトを適当なエディターで開く
②app/Gemfileに必要であろうgemを記載!

#app/Gemfile/の末尾に以下の追記
 gem 'pry-rails'
 gem 'devise'

だいたいマストなのがこの子たち。
pry-rails
 デバッグをする時にあると便利
 (と言っても僕はbinding.pryくらいしか使った事ないけど・・・)
devise
 ユーザー登録するのなら必須。色々いい感じにやってくれるありがたい存在!
 (本当は仕組みも気になるから自力で実装してみたい)

念願のbundle install

ターミナルに戻って、作成したプロジェクトのフォルダまでcdしまくる。
pwdコマンドを入力して、今いるディレクトリが間違っていないか確認!(これ大事)
ここでBundle installのコマンド入力

#コマンド
 ユーザ名$ bundle install

Bundle complete! の文字が出てたら成功。
エラーが出たら、表示されたエラーメッセージをもとに大人しくググろう。

deviseはもう一手間必要!(追記)

deviseについては、bundle install加えてもうdevise専用のコマンドも実行する必要あり。

#コマンド
 ユーザ名$ rails g devise:install

deviseのgemを使ってログイン機能周りを実装する場合は、devise専用のコマンドでモデルとビューを作る必要があるので、注意!

#コマンド
▼モデル作成
 ユーザ名$ rails g devise user
 ※↑やったら $ rails db:migrate もわすれずに!

▼ビュー作成
 ユーザ名$ rails g devise:views

DataBaseを作ろう

アプリに紐づくDBを作成する。
これがないとこの先に出てくるrails sがうまく機能しない!(と思う)
まずは、pwdで作ったプロジェクトのディレクトリ内にいることを確認。
そんでもって以下コマンドを実行

#コマンド
 $ rails db:create

Created database 'our_blog_development'
Created database 'our_blog_test'

これが表示されていれば作成完了!

ローカルサーバーを立ち上げよう

これもまたpwdして、作ったプロジェクトのディレクトリ内にいることを確認してから実行。
※違うプロジェクトの中で実行すると別のプロジェクト用のサーバーが立ち上がってしまうから間違えないように。

#コマンド
 ユーザ名& rails s

#成功したら以下の文章が表示される(他にもだらだらと出力されている)
 Use Ctrl-C to stop
 Started GET "/"for・・・ごにょごにょ

上にも書いてある通り、rails sで起動したサーバーを止める時は、Ctrl + CでOK。
bundle updateとかする時には一度サーバーを止めた方がいいかも。

あと、サーバーはしょっちゅう立ち上げる→停止するをやるので、サーバー管理用でターミナルをもう一つ用意しておくと楽!

localhost:3000にアクセスする

rails sしてサーバー起動中に、http://localhost:3000 へアクセス!
下の画面が出てれば、最低限の準備が完了!

スクリーンショット 2020-03-07 13.50.50.png

MVCの準備

ルーティングにルートパスを設定しよう

http://localhost:3000
↑にアクセスした時にindex.htmlを表示できるようにルーティングパスをまず記入する。

app/config/routes.rb
Rails.application.routes.draw do
 root to: 'コントローラー名#アクション名'
end

 コントローラ名にはこれから作成したいコントローラ名を指定
 アクション名には指定したコントローラー内に書かれているアクションを指定
 今回はルートパスだし、7つのアクションのうちのindexにするのが主流かも。

これで、localhost:3000へアクセスした時
「〇〇っていうコントローラーの××のアクションに記載された処理を実行しまっせ」
となる。

じゃあ、次は、コントローラーを作成!

コントローラーの作成をしよう

一旦、ターミナルに戻る。
お決まりのpwdコマンドで、今いる場所を確認してから、コントローラー作成のコマンドを実行!

#コマンド
 ユーザ名$ rails g controller 作成したいコントローラー名

コントローラ名は複数形にしておくといいっぽい!

作成したコントローラーにindexアクションを記述しよう

app/controllers/決めたコントーラ名_controller.rb
class コントローラ名Controller < ApplicationController
 def index
 end
end

今はindexが表示できればそれでいいので、indexアクションには特になにも記述しない。
※作ったコントローラーは ApplicationControllerっていうクラスを継承しているみたい。

はい。次はモデルの作成!

モデルを作成しよう

モデルは、DBとのやりとりを色々受け持ってくれる橋渡しキャラ。
一つのモデルに対して、一つのDBしか紐づかないぞ!

#コマンド
 ユーザ名$ rails g model モデル名

(これもpwdでディレクトリ間違ってないかしっかり確認してから実行!)

モデル名は、さっき作ったコントローラ名の単数形にしたものにしておこう!
コントローラとモデルの紐付きがわかりやすくなるから。
例えば、messagesというコントローラーを作ったら、それに対応するモデル名はmessageにするとよし!

マイグレーションファイルを確認しよう

モデルを作ると、マイグレーションファイルも同時にできる!
これは、DBを作る時の設計図的なものなので、必要なカラムとか、キーの制約とかを用途に合わせて追記してあげよう!

/db/migrate/20xxxxxxxxxxxx_create_messages.rb
class CreateMessages < ActiveRecord::Migration[5.2]
  def change
    create_table :posts do |t|
     #--ここに追加したいカラムを記載--
      t.string :coment
     #--↑こんな感じに、データ型とカラム名を書いてあげる--
      t.timestamps
    end
  end
end

書き終わったらマイグレートしよう!

マイグレートして、テーブルを作成しよう

マイグレーションファイルの修正が終わったら、またターミナルに戻って、コマンド入力!

#コマンド
 ユーザ名 $ rails db:migrate

これをして初めてテーブルが出来上がる!
※今後カラムを追加したり削除する時はまた新たにマイグレーションファイルを作る必要がある!
今あるファイルを修正してもエラーの原因になるだけなので、間違って触らないように!

ビューを作成して最低限の準備を完了させる!

コントローラに紐づいたビューを作成しよう!

viewファイルは勝手に作ってくれません!・・・ので、自力で準備が必要です!
と、いうことで、一旦仮置きで空のファイルを格納する必要があります!

適当なテキストエディタ(AtomでもVSCでも)で、作成したプロジェクトを開いてあげましょう!
現段階で↓のディレクトリがこんな感じ担っていると思います!

/プロジェクト名/app/views/
 └ layouts/
 └ 作成したアクションコントローラーのフォルダ/

この作成したアクションコントローラーのフォルダ内に「index.html.erb」を作成しよう!

/プロジェクト名/app/views/
 └ layouts/
 └ 作成したコントローラーのフォルダ/
   └ index.html.erb ←作成する

せっかくなので、index.html.erbに以下の一文でも入力しておきましょう!

app/views/layouts/コントローラーと同じ名前のフォルダ/index.html.erb
Hello Rails!

最後に動作確認をしよう

↓にアクセス!
http://localhost:3000

スクリーンショット 2020-03-07 14.46.02.png
↑この画面が出れば疎通確認OK!

あとは必要に応じてHTML/CSS(Haml,Sassとかでも)を記述して頑張ってWEBアプリケーションを作っていこう!(丸投げ)

ここからが一番しんどい!でも頑張っていきましょう!

最後に

あくまで自分の作業用メモと思って書いてます。
が・・・途中から誰かに伝えるような記述に変わってますね。
Railsにまだ慣れていない人間が書いているので、鵜呑みにしないようにしてください!
加えて、経験豊富な方で「これ、違うよ」「こっちの方が便利だよ」などがあればコメント頂けますと幸いです!

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