rails 基礎(MVC)の controller

rails 基礎(MVC)の controller

controller は基本的に処理を担当する

作成するには

rails g contoller コントローラ名 アクション

という構文になる

もし messages コントローラへ index アクションをつくるのなら

rails g controller messages index

となる

index アクションは一覧表示につかう

ちなみに
messages というように複数形にしているけど
これは model つまりデータをあつかう
controller の場合は名前を複数形にするというルールがあるため

アクションについては
http://igarashikuniaki.net/rails_textbook/crud.html
をみると理解しやすい

解説が scaffold になっているけど
新規投稿などの入力関連は new
編集をしたいのなら edit
詳細を出したいのなら show
となる

もし、食べログみたいな投稿サイトなら
投稿なら new
詳細なら show
編集するのなら edit
というようになる

ちなみに

rails g controller messages index

を実行すると
対応する view も一緒に作成される

また、これにより
config/routes.rb に

get 'messages/index'

が追記される

URL関連は

raike routes

で確認できる

messages_index GET  /messages/index(.:format) messages#index

が実行結果

意味は
messages/index に
GETを送信したら
messages コントローラの index アクションを実行
という意味になる

でも一覧表示は / へアクセスしたときに出したいのなら

root 'messages#index'

と変更する

これで
localhost:3000
でアクセスしたときに一覧表示になる

messages#index

コントローラ名#アクション名
という意味

rails 基本復習

rails 基本復習

model DB
view 画面
controller 処理

routes でURLの割り当てをする
これで、コントローラのどのメソッドで処理するか決める

DB操作は controller が model を仲介してDBから
データ取得、作成、更新などをやる

view の描画については
controller で model からデータを取得して
view で wordpress みたいに画面表示する
なお部品ごとにファイルを分割可能

RESTと呼ばれる処理は
対象のURLに対する操作のこと

GET で取得
POST で作成
PATCH/PUT で更新
DELETE で削除
となる

twitter とかのようなシステムなら
/messages/1 というメッセージに対して
これらの処理をすることになる

この1は、メッセージのIDのこと

メッセージ関連とするなら
GET メッセージの一覧、詳細表示

POST メッセージ作成

PATH/PUT メッセージ更新

DELETE メッセージ削除

となる

次にDB
基本的にはデータの一元管理
データ保存、取得することが目的

ユーザとかメッセージなどはDBに格納される

RDB構造は
基本的に1つの rails に対し1つのDBとなる
あとはこのDBの中に複数のテーブル
つまりEXCELのシートみたいなものができている
で、EXCELシートの中がデータみたいなかんじ

RDBは
カラム(縦列)
レコード(横列)
でできている(EXCELふうにいうと)

そしてカラムにどういうデータを保存するのかを指定する
例えば名前なら varchar 型

rails でやるときの注意点としては
NULL を nil として表現すること
NULL禁止にするとNULLが入ったレコードが保存不可になる

あと rails だと id が primary key 扱うになる