各コードの機能
ターミナル
コード |
機能 |
rails new アプリ |
入力したアプリ名と同じファイルを作成 |
rails server |
サーバーを起動 |
rails g controller コントローラ名 アクション名 |
コントローラとそれに対応したファイルを作成 |
rails g model テーブル名 カラム名:データ型(※テーブル名は単数系&頭大文字) |
マイグレーションとモデルを作成 |
rails g migration |
マイグレーションのみを作成(マイグレーションの中身は自分で作成する必要がある) |
rails console |
コンソールを起動 |
quit |
コンソールを終了 |
File.write(ファイルの場所,ファイルの中身) |
指定したファイルの場所にファイルの中身を記述する |
bundle install |
Gemfileに記述したgemをインストールする |
インスタンス名.save |
インスタンスをテーブルに保存 |
モデル名.first |
テーブルから一つのデータを取得 |
モデル名.all |
全てのデータを取得する |
モデル名.all[数値] |
数値+1のidにあるデータを取得する |
モデル名.find_by(カラム名:値) |
特定の値を持ったカラムのデータを取得する |
モデル名.order(カラム名:順序) |
カラム名を指定された順序にする |
インスタンス名.destroy |
インスタンスをテーブルから削除 |
モデル名.where(カラム名:値) |
複数の値を持ったカラムのデータを取得する |
エディタ
ビュー
コード |
機能 |
<%= yield %> |
各ビューファイルを代入 |
link_to(文字,URL) |
文字や画像にリンクを付与(※1) |
<%= form_tag(URL) do%><% end %> |
フォームに入力されたデータをURLに送信する(※2) |
<textarea name =“カラム名”>初期値</textarea> |
カラム名と初期値を指定した入力フォームができる |
変数名.errors.full_messages |
エラーメッセージの配列が入っている |
flash[:notice] |
一度だけ格納されている文字列を表示させる変数 |
<input name=“カラム名” value=“初期値”> |
カラム名と初期値を指定した1行分の入力フォームができる |
※1 postとgetの両方あり、postで扱いたい場合には、第三引数で{method: “post か get”}を指定する)
※2 画像を送信したい場合には、第三引数で{multipart: true})を指定する
コントローラ
コード |
機能 |
@変数名 |
同じクラスの他のアクションやビューでも使える変数 |
redirect_to(/URL) |
指定したURLに移動する |
render(URL) |
他のアクションで指定した@変数を保持したまま指定URLに移動する |
session[: キーID] |
代入した値はブラウザに保存される |
before_action :共通化のアクション名, [only: [:適用するアクション名,...]] |
適用するアクションの前に実行される共通化アクション(※1) |
※1 applicationコントローラで共通化のアクションを作り、各コントローラで上記の実装をする
ルーティング
コード |
機能 |
post/:id |
”post/数値”をまとめたルート |
get ルート名 |
データベースとsessionを変更しないルート |
post ルート名 |
データベースとsessionを変更するルート |
マイグレーション
コード |
機能 |
add_column :テーブル名, :カラム名, :データ型 |
テーブルにカラムを追加 |
remove_column |
テーブルからカラムを削除 |
モデル
コード |
機能 |
validates :検証するカラム名, {presence: true} |
空を防ぐ |
validates :検証するカラム名, {length: {maximum: 数値}} |
文字数の最大数値を設定 |
ジェム
コード |
機能 |
gem ‘bcrypt |
パスワードハッシュ化のためのジェム |
has_secure_password |
パスワードをハッシュ化するメソッド(モデルに追加) |
@変数名.authenticate(“文字列”) |
変数のパスワードと文字列のパスワードが一致することを確認できる(コントローラで使用) |
各ファイルのアドレス
ファイル |
アドレス |
ビュー |
app/views/コントローラ名/アクション名.html.erb |
共通のレイアウト |
app/views/layout/application.html.erb |
コントローラ |
app/controllers/コントローラ名_controller.rb |
共通のコントローラ |
app/controllers/application_controller.rb |
ルーティング |
config/routes.rb |
CSS |
app/asssets/stylesheets/コントローラ名scss |
画像 |
public/ここに配置 |
マイグレーション |
db/migrate/日付_create_モデル名.rb |
モデル |
app/models/モデル名.rb |
ジェム |
Gemfile |