チュートリアルやりながら、使い方まとめます。
railsコマンド
便利なコマンドが沢山ある。rails5になって変わったのも結構あるらしい。API用の軽量なやつをさくっと作れるとかもよさそう。
下記のように省略できる。
$ rails generate -> rails g $ rails server -> rails s $ rails console -> rails c $ rails test -> rails t $ bundle install -> bundle
元に戻す
rails destroyで大体何でも戻る
$ rails destroy model User $ rails destroy controller StaticPage
マイグレーションは、rollback
$ rails db:rollback $ rails db:migrate VERSION=0 #最初の状態に戻る
プロジェクトの作成
$ rails new hoge
Gemfileの編集
欲しいgem書く。groupをつくって環境を分ける。下記でインストールする。
$ bundle install
インストール対象外にしたいグループがある場合、下記のようにする。
$ bundle install --without production
Scaffold作成
rails generate scaffoldで作成できる。モデル名のあとにフィールドを書く。
$ rails generate scaffold User name:string email:string
マイグレーション
$ rails db:migrate
ルーティング
config/routes.rbを編集する。 resources :テーブル名、とするだけで一通りの規定のアクションにアクセスできるようになる。 root 'controller#action'、とすればルート画面の設定できる。
Rails.application.routes.draw do resources :users root 'application#hello' end
Model
下記のような感じで、テーブル同士の関係を書くことで勝手に紐づく。 models/user.rb
class User < ApplicationRecord has_many :microposts end
バリデーションは下記のような感じ。メッセージはどこに書くのかな。 model/micropost.rb
class Micropost < ApplicationRecord belongs_to :user validates :content, length: { maximum: 140 } end
コントローラ
rails generate controllerで作れる。コントローラ名のあとアクションを書ける。
$ rails generate controller StaticPage home help
テスト
コントローラのテストはこんな感じで書く。
require 'test_helper' class StaticPageControllerTest < ActionDispatch::IntegrationTest test "should get home" do get static_page_home_url assert_response :success end test "should get help" do get static_page_help_url assert_response :success end end
テスト実行
$ rails t