BIAN no Blog

1996/10/09生まれ神戸市出身

jsとjQueryの準備

jQueryを導入

Gemfileに

gem 'jquery-rails'

その後

ターミナルでbundle install

assetsディレクトリ内にjavascriptsというディレクトリを作成

その中に、application.jsを作成

作成したJavaScriptを読み込む記述

app/views/layouts/application.html.haml

= javascript_include_tag 'application'を記述

= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'を削除

app/assets/config/manifest.js の2行目に

//= link_directory ../javascripts .jsを記述

jQueryを使えるようにする

app/assets/javascripts/application.js内に

//= require jquery

//= require rails-ujs

//= require_tree .

バリデーションを定義

バリデーションはモデルでも定義できますし、マイグレーションファイル に定義することもできます。

1.モデルでバリデーションを定義

validates :カラム名, ヘルパー

同時に複数のカラムを指定することもできます。!

 

2.バリデーションのヘルパー

(1) validates :カラム名,  presence: true

「空でないか」を検証

(2)validates :カラム名,  absence: true

上とは逆で定義すると「空であるか」を検証

(3)validates :カラム名,  uniqueness: true

重複していないかを検証

<ActiveRecordメソッド>

ActiveRecordメソッド

モデルがテーブル操作に関して使用できるメソッドの総称です。

メソッド 用途
all テーブルのすべてのデータを取得する
find テーブルのレコードの内、ある1つのデータを取得する
new クラスのインスタンス(レコード)を生成する
save クラスのインスタンス(レコード)を保存する

createメソッド

モデル.create(カラム名: 値)

保存のために、new→情報を記述→saveとしていたところが、 createメソッドの引数を記述して実行するだけで保存できます。

destroyメソッド

削除

orderメソッド

インスタンス = モデル名.all.order("並び替えの基準となるカラム名 並び順")

orderメソッドは、テーブルから取得してきた複数のレコード情報を持つインスタンスの、並び順を変更するメソッドです。 引数には、"並び替えの基準となるカラム名 並び順"のように「並び替えの基準となるカラム名」と「並び順」を半角スペースで繋げて指定します。

ASC(昇順) DESC(降順)

whereメソッド

モデル.where(条件)のように、引数部分に条件を指定することで、テーブル内の「条件に一致したレコードのインスタンス」を配列の形で取得できます。

<カラムの型>

カラムの型

カラムの型 説明 用途
integer 数値 金額、回数など
string 文字(短文) ユーザー名、メールアドレスなど
text 文字(長文) 投稿文、説明文など
boolean 真か偽か はい・いいえの選択、合格・不合格のフラグなど
datetime 日付と時刻 作成日時、更新日時など

<コントローラー>

コントローラー

コントローラーは、MVCの役割の1つです。 リクエストに対応する処理をまとめて用意しておき、ルーティングからリクエストを受け取って処理を行った後、クライアントにレスポンスを返します。 コントローラーは、MVCにおける橋渡しの役割も持っています。 レスポンスに必要となるデータがあれば、他の役割と連携してデータを取得したり受け渡しを行い、レスポンスを完成させます。

<ルーティング>

ルーティング

ルーティングとは、リクエストに対してどのような処理を実行するかという道筋を明記する仕組みです。
リクエストを処理し、それに応じてどのプログラムを実行するかを設定します。

[HTTPメソッド] '[URIパターン]', to: '[コントローラー名]#[アクション名]

HTTPメソッド

HTTP通信の中で、行いたい処理の種類をサーバーへ伝える部分をHTTPメソッドといいます。

GET

URIで指定した情報を要求。URIがファイル名のときはそのファイルの中身を、プログラム名のときはそのプログラムの出力を返す

POST

クライアントからデータを(名前と値)のセットで渡す。フォームデータを送るときなどに使用

PUT

URIで指定したサーバ上のファイルを置き換える

DELETE

URIで指定したサーバ上のファイルを削除する

PATCH

PUTと同じだが、差分のみを置き換える

LINK

他の情報との関連付け

UNLINK

LINKで設定した関連を外す

resourcesメソッド

resources :パス名

resourcesは、7つのアクションへのルーティングを自動生成するメソッドです。

onlyオプション

resources :パス名, only: :アクション名

resourcesにオプションとしてonlyを加えると、指定したアクションのみのルーティングを自動生成します。