LoginSignup
39
59

More than 5 years have passed since last update.

【Rails】新規アプリの作成

Last updated at Posted at 2018-07-25

アプリを新規作成

ターミナルにて下記コマンドで新規アプリを生成

$rails new [アプリ名]

例)
$rails new sampleapp

モデルを作成

モデルはデータベースとデータのやりとりを行うため、
モデルを使用する際には同時にそれに対応するデータベースのテーブルも必要。

モデルを作成する前に、RubyからSQLを操作するために必要な
マイグレーションという機能を使用できるようにする。
そしてマイグレーションを使用するためにマイグレーションファイルを下記コマンドで作成する。

$rails generate migration [クラス名]

例)
$rails new sampleapp

とりあえず最低限テーブルが作成されれば良いのであれば、
ターミナルにて下記コマンドでモデルとテーブルを生成できる。

$rails g model [モデル名] [テーブル名]

例)
$rails g model Member members

もしテーブル作成と同時にカラムも追加したければ
下記コマンドを使用すれば良い。

$rails g model [モデル名] [カラム名]:[型] [カラム名]:[型] ・・・

例)
$rails g model Member name:varchar

モデル周りの命名規則は下にまとめた通り

対象 規則  例
モデル名 単数形 / 小文字はじまり member
モデルクラス名 単数形 / 大文字はじまり Member
ファイル名 単数形 / 小文字はじまり member.rb
テーブル名 複数形 / 小文字はじまり members

テーブルを生成したり、データベースに変更を加えたい際は
コマンド実行後その変更をDBに反映するため下記コマンドを実行する。

$rake db:migrate

とりあえず最初はモデルクラスの中には何も記述しなくても問題ない。

member.rb
class Member < ApplicationRecord

end

コントローラの作成

ターミナルにて下記コマンドでコントローラを生成

$rails g controller [コントローラ名]
$rails g controller members

コントローラ周りの命名規則は下にまとめた通り

対象 規則  例
コントローラ名 複数形 / スネークケース members
コントローラクラス名 複数形 / キャメルケース MembersController
ファイル名 複数形 / スネークケース members_controller.rb

app > controllers 内にコントローラファイルを生成できたら、
クラスの中に必要なアクションを定義していく。

members_controller.rb
class MembersController < ApplicationController
    // indexアクションを定義
    def index 
        @members = Member.all
    end
end

ルーティング

作成したアクションにURLを割り当てる作業をしていく。
config > routes.rb ファイルを適当に編集する。

routes.rb
Rails.application.routes.draw do
  #get "URL" => "コントローラ名#アクション名"
  get "momocloapp" => "top#index"
  get "momocloapp/members" => "members#index" 
  get "momocloapp/member/:id" => "members#show"
end

ルーティングの確認

$rake routes

ビューの作成

実際に表示される「ページの見た目」を作る。
app/views/[モデル名のフォルダ] 内にhtmlファイルを作成し適当に記述する。

app/views/members/index.html.erb
<h1>Members</h1>
<ul>
    <% @members.each do |member| %>
        <li><%= member.name %></li>
    <% end %>
</ul>

今回はモデル作成時に生成したmembersテーブルのnameカラムにデータを挿入し、
membersテーブルに挿入されたメンバー全員の名前を表示するシンプルなページを作成した。

ローカルで見てみる

実際に作成したページをローカルで見てみる。
下記コマンドでローカルホストを立てる。

$rails s

成功したらブラウザで http://localhost:3000/ を開くと
作成したページが見られるはず。

39
59
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
39
59