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

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

コントローラとビューの仕組みについて

More than 1 year has passed since last update.

コントローラで定義した情報をビューに渡すための仕組みについて、復習してみた。

Railsでは、ルーティング→コントローラ→ビュー(MVC)の順番で情報処理が行われている。
ここで、コントローラはビューにコントローラ内で定義した情報を渡すためのつなぎ役としての役割を担っている。では、コントローラで定義した情報をビューに渡す方法について、解説する。

まず、コントーラ内に以下のような記述をして情報を定義をする。

class TweetsController < ApplicationController

    def index
      @tweets = Tweet.all
    end

  end

アクションの定義をして、その中にインスタンス変数を定義する。インスタンス変数とは、@つきの名前の変数をいう。上記の例では、@ tweets を指す。ここで、@マークをつけ忘れると、インスタンス変数ではなく、indexアクション内でしか使えないローカル変数としてみなされてしまい、ビューに情報(全てのツイート情報)を渡すことができない。

そして、渡された情報をビューで使用するには、その情報を<%= %>で変数名を囲んであげる必要がある。<%= %>の中のrubyコードは、ビューをレスポンスとして返すまでに実行されて、最終的にはHTMLになる。

例えば、上記の例において、ツイート情報をビューに写すためには、以下のような記述をする。

<%= @tweet %>

                           以上

okamoto_ryo
2019年4月から本格的にプログラムを勉強している文系大学4年生です。主にHTML/CSS/JavaScript/jQuery/Ruby/Ruby on Railsを勉強しています。そして、今後はPHP/Laravel/vue.js/Reactなどのフレームワークを学習していきます。 日々の勉強で学んだことや自分なりに理解できたことを発信していきます。
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