【未経験プログラミング】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へ変数を渡す事ができる。