プログラミング学習サイトで勉強中です!よく意味が理解できない文法があったので、質問しています。
rails
1class UsersController < ApplicationController 2 3 def index 4 @users = User.all 5 end 6 7 def show 8 @user = User.find_by(id: params[:id]) 9 end 10end
show.html
<div class="main user-show"> <div class="container"> <div class="user"> <!-- <img>タグを用いて、プロフィール画像を表示してください --> <img src = "<%=" /user_images/#{@user.image_name}"%>"> <h2><%= @user.name %></h2> <p><%= @user.email %></p> <%= link_to("編集", "/users/#{@user.id}/edit") %> </div> </div> </div>
index.html
<div class="main users-index"> <div class="container"> <h1 class="users-heading">ユーザー一覧</h1> <% @users.each do |user| %> <div class="users-index-item"> <div class="user-left"> <img src = "<%=" /user_images/#{user.image_name}"%>"> </div> <div class="user-right"> <%= link_to(user.name, "/users/#{user.id}") %> </div> </div> <% end %> </div> </div>
indexの <img src = "<%=" /user_images/#{user.image_name}"%>">
の#{user.image_name}が意味がよくわかりません。
show.htmlみたいに#{@user.image_name}を使いたくて、コントローラに @user = User.find_by(id: params[:id])を書いたらブラウザに正しく表示されず、答えを見たら<img src = "<%=" /user_images/#{user.image_name}"%>">が書かれていました。私はよく理解できません。なぜこのように書いて成立するのか教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/26 02:50
2018/11/26 02:53
退会済みユーザー
2018/11/26 08:01