Railsで最低限のアプリを作る

$ cd ~/projects

# projectsディレクトリに移動。ここはworkspaceや自分の好きなディレクトリで構わない。
# $は打たない。

$ rails _4.2.6_ new ponstagram -d mysql

# 「ponstagram」はアプリ名なので自分の好きに名前入れても構わない。今回はデータベースは「mysql」オプション、バージョンは4.2.6で作成。

gem 'mysql2', '0.3.18'
gem 'sass-rails', '~> 4.0.2'
gem 'pry-rails'

# ponstagram/GemfileにてGemfileの変更。mysqlのバージョンと、sassのバージョン指定。
# デバックで便利なpry-railsを追加しておく。

$ bundle update
$ bundle install

# Gemfileの更新。
# Gemfileのインストール。

$ rake db:create

# データベースの作成


データベースが作成できているか確認するのに視覚的に確認できる「Sequel Pro(シークエル・プロ)」を使用。

Sequel Pro
Downloads


※Sequel Proに接続失敗した時

$ cd ~
$ mysql.server start

# ..SUCCESS!と出れば成功。


ルーティングの設定

Rails.application.routes.draw do
 get 'images' => 'images#index'
end

# config/routes.rb
# get~部分を記述


コントローラの作成

$ cd ~/projects/ponstagram
$ rails g controller images

# 現在のディレクトリがponstagramに移動
# $ rails g controller コントローラ名(複数形)で作成。
# images_controller.rbが作成されているか確認。
# アプリ名を間違えた場合はコマンドで削除。関連ファイルも一網打尽。
# $ rails d controller コントローラ名

class TweetsController < ApplicationController

    def index
 end

end

# app/controlers/images_controller.rb
# def~以降を記述。


Viewの作成

app/views/imagesでダブルクリックで「index.html.erb」を作成。

<p>Hello World!</p>

# app/views/images/index.html.erbで記述
# Hello Worldを記述。


アプリが作成できているか確認

$ rails s

# テストサーバを起動
# 別のブラウザの画面で「http://localhost:3000/images」にアクセス。
# 画面にHello World!が表示さていれば成功!!


ここまではデータベースが絡んでいないのでこれからデータベースのやり取りもしていく。

テーブルとモデルの結びつきは名前で決まるため、記述ミスに気をつける。

$ rails g model image

# モデルは単数形。
# app/models/image.rbが作成されているか確認。
# 間違えて作成した場合「$ rails d model モデル名」。

  class CreateImages < ActiveRecord::Migration
    def change
      create_table :images do |t|
        t.text        :text
        t.text        :image, null: false
        t.timestamps
      end
    end
  end

# カラム名やオプションを記述。
# imageカラムはnull: falseを付けて空白を禁止した

$ rake db:migrate

# マイグレーションの実行
# db/schema.rbにてテーブルが正しく作成されているか確認。
# マイグレーションファイルは直接削除してはいけない。
# 変更した場合は「rake db:rollback」にて元に戻し、マイグレーションファイルを書き直してから「$ rake db:migrate」。

ここまで超基礎のアプリを作成。
まだデータベース周りをいじってないので別の記事で。