LoginSignup
0
0

More than 1 year has passed since last update.

コントローラの使われ方がわかんない

Posted at

MVCのことはちゃんと理解した方がいいから備忘録。

1.コントローラとは

MVCモデルのC。ユーザーからのリクエストを受け取り、モデルを介してデータを授受したり、ビューを用いてHTML出力を生成するもの。
見方を変えると、コントローラはモデルとビューの仲介をしているとも取れる。モデルのデータをビューで使えるようにすることで、データをビューで表示したり、入力されたデータでモデルを更新したりする。

2.コントローラの作り方

ターミナルにおいて下記のように入力して生成する。

% rails g controller (コントローラ名)

コントローラの名前は複数形を使うことが一般となっている。
絶対ではないが遵守することで、既存のルーティングジェネレータがそのまま使えたり、名前付きのルーティングヘルパーの用法がアプリケーション全体で一貫する。

3.メソッドとアクション

railsのコントローラは全てApplicationControllerを継承したRubyのクラスとなっている。例えば、SamplesControllerというコントローラがあったとして下記のような記述が冒頭にあることから左記のようなことがわかる。

class SamplesController < ApplicationController #継承を示している

記述の凡例

class SamplesController < ApplicationController
 def new
 end
end

このような記述の場合、/samples/newにアクセスをするとSamplesControllerのインスタンスを作成してnewメソッドを呼び出す。ここでnewメソッドは内容が空でも、railsではアクションで特に指定がない場合はnew.html.erbというビューを返すことになっている。

4.パラメータ

コントローラのアクションではユーザーから送られてきたパラメータにアクセスをして何かの作業を行う。
パラメータのは2種類あって、一つはURLの一部として送られる「クエリ文字列(URL)パラメータ」もう一つはフォームから受け取る「POSTパラメータ」がある。いずれもparamsというハッシュでアクセスできる

クエリパラメータ例

https://hogehoge.jp/fugafuga?id=1
上記の?id=1の部分がクエリ文字列(URL)パラメータにあたる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0