Controllerについて その1

今日はControllerについてわかったことを記事にしました。

まず、Controllerはブラウザとモデル、ビューの間に入って色々と仲介をしているのだという認識です。実際にコントローラファイル内でアクションを定義してそれを色々なファイルに反映していくようです。

具体的に、

rails generate controller コントローラ名

app/controllersの配下にコントローラ名.rbのファイルが作成されます。 .rb の部分はこのファイルがRubyファイルであることを表しています。

そしてファイル内には

class コントローラ名Controller < ApplicationController
end

とクラスの継承が書かれています。


アクションの定義は普通にRuby

def アクション名
  実行したい処理
end

と先ほどのクラスの中に書いていきます。

コントローラ作成時にアクションも同時に作成できるらしいのですが、他にも色々と覚えることが多いので今は、覚えずに放置します。 アクションの処理を具体的に加えると、

class UsersController < ApplicationController

  def index
    @user = User.all
  end

end

のようなコードになります。

UsersControllerクラスの中にindexという アクションを定義しました。 処理の中身は今回はまだ作っていませんが、データベースの中にあるUserテーブルの全ての値をall メソッドで取得して、インスタンス変数@userの中に代入しています。


今日は以上です。

Controllerとアクションだけでも記事にできることはたくさんあると思うのですが、Progate, tutorial とインプットできる時間が減りそうなので、 どれくらいの頻度で記事を書くのかは少し検討したいと思います。