LoginSignup
0
1

More than 1 year has passed since last update.

Railsコマンドメモ

Last updated at Posted at 2021-12-05

勉強内容をメモしたものです

基本スクリプト

説明 コマンド内容
アプリ作成 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

共通

  1. 優先度
    • アクション > クラス > コントローラ > アプリケーション
  2. 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
0
1
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
0
1