Ruby on Rails5でのimgを使った画像表示について質問です。
シンプルな投稿サイトを作っている際に、ユーザー登録で画像も一緒に表示させようとしたのですが、上手くいきません。
画像は以下のディレクトリに保存しています。
public/user_images/default_user.jpg
それを下記2ページに表示させたいとします。
app/views/users/index.html.erb
Ruby
1<img src="<%= "/user_images/#{user.image_name}" %>">
app/views/users/show.html.erb
Ruby
1<img src="<%= "/user_images/#{@user.image_name}" %>">
コントローラーはこちらです
app/controllers/users_controller.rb
Ruby
1def create 2 @user = User.new(image_name: "default_user.jpg")
上記の例にて、show.html.erbでは「@user.image_name」でエラーが出ないのですが、index.html.erbでは「user.image_name」でないとエラーが出てしまいます。
私としてはどちらも@userが正解に見えるのですが...
すみませんが、なぜこのような違いが出るのか、ご存知の方ご教授お願いします。
回答2件
あなたの回答
tips
プレビュー