Railsの使い方(1)
チュートリアルやりながら、使い方まとめます。
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 hogeGemfileの編集
欲しいgem書く。groupをつくって環境を分ける。下記でインストールする。
$ bundle installインストール対象外にしたいグループがある場合、下記のようにする。
$ bundle install --without productionScaffold作成
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'endModel
下記のような感じで、テーブル同士の関係を書くことで勝手に紐づく。 models/user.rb
class User < ApplicationRecord has_many :micropostsendバリデーションは下記のような感じ。メッセージはどこに書くのかな。 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