LoginSignup
0
0

More than 3 years have passed since last update.

rails viewについて復習する

Posted at

はじめに

ある程度プログラミングの理解が進んできたところで備忘録と復讐を兼ねて振り返ることにした。
viewからviewに移動するやり方を書いていく。

link_toの使い方

rails routesコマンドを実行するとこんな感じで出てくると思う。
rails routes.png
この画面からPrefixを確認することができる

link_to 'リンク名', 'Prefix名 + _path'

・viewヘルパーという
・htmlを自動で作成してくれる (href作成をしてくれる)

○リンク名
⇨viewに文字列として表示したことを記述

○'Prefix名 + path'
⇨rails routesのPrefixを使用する (pathが必要)

【id付きURLパターン時の書き方】

・Prefixに紐づくURLパターンに着目
・URLパターンに :id のような一意に定められない変数が含まれることがある

一意に定められるとは要するに他に可能性があるかどうか。1パターンしかあり得ない場合は一意に定まるということになる。
(一意に定まる時は,上の記述のみでOK)
・*(一意に定まる時でもidを持たせても多分いけると思う)

・この場合,'Prefix + _path + (each do | | で生成した値)' と記述
・each do | | で生成した値は,インスタンス変数から生成
・*(インスタンス変数はcontrollerで生成ずみの前提)

私のポートフォリオで言うと

      <% @songs.each do |song| %>
        <table class="detail-table">
          <tbody>
            <tr>
              <th class="user-show-detail-song">アーティスト名</th>
              <th class="user-show-detail-value">曲名</td>
            </tr>
            <tr>
              <td class="user-show-detail-song"><%= song.artist %></td> 
              <td class="user-show-detail-value">
                <%= link_to song_path(song.id) do %>
                  <%= song.title %>
                <% end %>
              </td> 
            </tr>
          </tbody>
        </table>
       <% end %>

・このインスタンス名songには、インスタンス変数@songsの複数のキャッシュが格納されていく
・column名 =id となる値を URLパターンの :id へ変換
・urlの:idところに引数の:id を含んだ形で記述したことになる

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