Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

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

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)パラメータにあたる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?