【未経験プログラミング】Controlloer【27日】

cdapp/controllers/messages_controller.rにRESTfulなルーティングを書く。

def index ~end

def show ~end・・・・・・def destroy end

Controller 内でルーティングと同じ名前のメソッド名として定義すれば、対応させられます

 

Viewの構成

Viewは基本HTMLを記述する。

HTMLを書くと共通部分が出てくる。共通としてまとめないと毎回色々なファイルを修正する必要がでてくる。

app/views/layouts/application.html.erbに共通部分記載

yield … 各Actionに対するViewを生成します

例えば/messages とルーティングにブラウザでアクセスするとmessagecontrollerのindexアクションが呼び出され→app/views/layouts/application.html.erbが呼び出される

 

messages#indexに7つのルーティングを実装する。

Rails では ActiveRecord と呼ばれるライブラリを利用することで、SQL を一切書かずにレコードの CRUD 操作を行うことができます

モデルレコードはCRUD操作をする。

 

all 全てのレコードを取得する

new 新規レコードのためのモデルインスタンスを作成する

find idを指定して検索

find_by id以外でも指定して検索

where 検索条件を文字列、配列、ハッシュのいずれかの方法で与えることができる

first 最初のレコードを1件だけ取得する

save レコードの作成

update, save データの更新

destroy データの削除

 

indexをコーディング

indexアクションの役割はMessageモデルのレコード表示です。

一覧表示をするので Message.all    コーディング→    @messages = Message.all

@messagesはview側(index.html.erb)で使うことでControllerからViewへ変数を渡す事ができる。