勉強内容をメモしたものです
基本スクリプト
説明 | コマンド内容 |
---|---|
アプリ作成 | rails new [アプリケーション名] |
コントローラ作成 | raild g controller [コントローラ名] |
モデル作成 | rails g model [モデル名] |
モデル削除 | rails d model [モデル名] |
マイグレーションファイルの作成 | rails g migration [行う処理+テーブル名] |
アクション
アクション | REST |
---|---|
index | GET model名 |
new | GET model/new |
show | GET model/:id |
edit | GET model/:id/edit |
create | POST model |
update | PUT model/:id |
destroy | DELETE model/:id |
Model
rails g model [model名]
データ型
型名 | |
---|---|
string | 文字列 |
text | 長い文字列 |
date | 日付 |
datetime | 日時 |
time | 時間 |
integer | 整数 |
float | 浮動小数 |
decimal | 高精度少数 |
binary | バイナリ |
boolean | 真偽値 |
Migration Script file
- モデルを作成すると自動で生成される
- テーブルに変更を行いたい場合は手動で作成する
rails g migration [行う処理+テーブル名]
- db/migrate/配下にファイルが生成される
コマンド上で変更を行う
rails g migration [クラス名] [カラム名]:[データ型]
クラス名
- AddXXXTo[テーブル名]
- RemoveXXXFrom[テーブル名]
MigrationFileを変更する
- 実行する処理:upメソッド
- 戻す処理:downメソッド
def up
add_column :[Table名], :[カラム名], :[データ型]
end
def down
remove_column [Table名], :[カラム名], :[データ型]
end
Command list
maigration関連でよく使うコマンド集
処理 | コマンド | 備考 |
---|---|---|
マイグレーション実行 | rake db:migrate | |
状態を確認 | rails db:migrate:status | |
ファイルを削除 | rails destroy migration [クラス名] | DB未反映のファイルを削除 |
バージョン確認 | rake db:version | 反映済みのバージョンを確認する |
ロールバック | rake db:rollback (STEP=[ステップ数]) | 例) rake db:rollback STEP=2 |
View(template)
- ファイル名: アクション名.html.erb
- 置き場: app/view/コントロール名/
Layout
共通
- 優先度
- アクション > クラス > コントローラ > アプリケーション
- Layoutを指定しない
- 指定先に"false" を使用
レイヤーごとの指定方法
アプリケーション*全体の共通レイアウト
app/views/layouts/application.html.erb
コントローラごとにレイアウトを自動指定
app/views/layouts/[コントローラ名].html.erb
(コントローラ)クラスからレイアウトを指定
class [コントローラ名] < ApplicationController
layout 'ファイル名'
end
アクションからレイアウトを指定
class [コントローラ名] < ApplicationController
def [アクション名]
render :layout => 'ファイル名'
end
end
部分Template
- ファイルの命名規則
- _[ファイル名].html.erb
- 配置場所
- app/views/
- app/view/[コントロール名]
- 埋め込み方法
- <%= render 'ファイル名' %>
Rubyコード
コードを記述: <% %>/<%= %>
改行を除く: <% _%>/<%= _%>
繰り返し
[オブジェクト].each do |[変数名]|
[変数名]
end
条件分岐
if [条件] then
# 実行する処理
else
# 実行する処理
end
インスタンス変数
@変数 = 100
@変数 #100