1
0

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ざっくりアプリケーション作成の流れ(MVC)

Last updated at Posted at 2021-07-14

アプリ作成の流れ(MVC)

雛形作成

$ rails new  アプリ名

$ rails _6.0.0_ new アプリ名
#railsのバージョン指定 指定しなければ、インストールされているrailsのバージョンが指定される

$ rails new  アプリ名 -d DB
#DBを指定したコマンド  デフォルトはsqlite

DB作成

rails newで新しくアプリケーション部分が作成されたので、次は、DBを作成する。

DB作成コマンド
$ rails db:create
デフォルトでは、development(開発)にDBが作成される
$ rails db:create RAILS_ENV=production
production(本番)にDBを作成したい場合はこのコマンド

ルーティングの設定

ルーティングは、クライアントからのリクエストに対して、どう処理してやるのかの道標です。
app/config/routes.rbにルーティングを記載していきます。

ルーティングの基本
Rails.application.routes.draw do
 (HTTPメソッド 'URIパターン', to: 'コントローラー名#アクション名')
 get "posts", to: "posts#index"
end

コントローラーの作成

MVCの一つで、リクエストに対する処理を決める場所です。
rails gコマンドrailsに必要なファイルを生成するためのコマンド

$ rails g "ファイルの種類" "生成するファイル名"

コントローラーを作成する場合は、命名規則に気をつけて作成する必要があります。
コントローラー名は複数形で作成しなければなりません。

$ rails g controller posts

コントローラー名を間違えた場合は、

$ rails d controller posts

で作成したファイルを削除できるので、改名後に再度rails gしてやります。

####コントローラーにアクションを定義する

  • index 一覧表示ページを表示するリクエストに対応して動く
  • new 新規投稿ページを表示するリクエストに対応して動く
  • create データの投稿を行うリクエストに対応して動く
  • show 個別詳細ページを表示するリクエストに対応して動く
  • edit 投稿編集ページを表示するリクエストに対応して動く
  • update データの編集を行うリクエストに対応して動く
  • destroy データの削除を行うリクエストに対応して動く

ビューの作成

ERBを利用することで、HTMLファイルなどの異なるファイルにRubyの記述を埋め込むための仕組みのことで、ファイル名.html.erb内にRubyのコードを埋め込むことができるようになります。

データベースとテーブル、モデル

データベースはアプリケーションで保存される様々なデータを保存する場所で、アプリケーションにはほぼ必須のものです。
データベースはデータを保存するところ、テーブルを使って目的別にデータを保存できるようにします。
テーブルには行(レコード)とカラム(列)が存在し、データを管理しています。
モデルはテーブルを管理するもので、データを保存したり、データを取得して画面上に表示するために必要なもので、テーブルごとにモデルは対応しています。

モデル作成するコマンドは

$ rails g model モデル名

で作成することができ、モデル名には命名規則があって、単数形を使用しなければなりません。

####マイグレーション

rails g modelコマンドで作成されるファイルで、データベース(テーブル)の設計書・仕様書になります。
テーブルの使用をこのファイルに記載してデータベースに反映させることで、意図的なデータベースが作成できます。

postというモデルを作成した場合

db/migrate/20XXXXXXXXXXXX_create_posts.rb
class CreatePosts < ActiveRecord::Migration[6.0]
  def change
    create_table :posts do |t|
      t.text :memo
      t.timestamps
    end
  end
end

t.text :memoと記載することで、text型のメモカラムが作成できるようになります。
マイグレーションファイルを作成、定義したら、それを

$ rails db:migrate

コマンドを実行することで、マイグレーションをDBに反映させることができます。
マイグレーションファイルを修正する場合は、一度ロールバックをして、statusをdown状態にしないといけません。

$ rails db:rollback

$ rails db:migrate:status
#このコマンドでマイグレーションファイルのstatus状況を確認することができます。

ActiveRecordメソッド

ActiveRecordメソッドとは、モデルがテーブル操作を利用して使用できるメソッドの総称です。
ActiveRecordメソッドを利用することで、直感的にテーブルを操作することができるようになります。

ActiveRecordメソッドの例(all,findメソッド)

 Post.all
 #postテーブルのすべての値を取得する
 Post.find(1)
 #postテーブルの1行目のレコードの値を取得する
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?