🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1636閲覧

HTMLにオブジェクトが文字列で表示されてしまう。

arinc0

総合スコア31

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/10/21 16:21

app/views/users/show.html.erb で下記のように記述し

html

1<% if @user.microposts.any? %> 2 <%= @microposts.each do |micropost| %> 3 <div class="col-md-4 col-sm-4"> 4 <a href="#" class="thumbnail"> 5 <div class="image"> 6 <img src="<%= micropost.picture.url %>" 7 class="img img-responsive full-width" /> 8 </div> 9 </a> 10 </div> 11 <% end %> 12 <%= will_paginate @microposts %> 13 <% end %> 14

あるユーザーの@micropostsを集めて画像を展開していきたいのですが途中から画像が表示されず

[#<Micropost id: 40, content: "Recusandae ut eius est cupiditate.", user_id: 1, created_at: "2019-10-21 15:44:31", updated_at: "2019-10-21 15:44:31", picture: "picture40.jpg">, #<Micropost id: 39, content: "Fugit odit dicta suscipit saepe.", user_id: 1, created_at: "2019-10-21 15:44:30", updated_at: "2019-10-21 15:44:30", picture: "picture39.jpg">, #<Micropost id: 38, content: "Quia eaque omnis repudiandae officiis.", user_id: 1, created_at: "2019-10-21 15:44:30", updated_at: "2019-10-21 15:44:30", picture: "picture38.jpg">, #<Micropost id: 37, content: "Atque est cum odio id.", user_id: 1, created_at: "2019-10-21 15:44:30", updated_at: "2019-10-21

のようにオブジェクトそのものがテキストとして表示されてしまいます。

usersコントローラーは

def show @user=User.find_by(id: params[:id]) @microposts = @user.microposts.paginate(page: params[:page]) end

のように記述

サンプルデータとして users.yml 内に

30.times do |n| content = Faker::Lorem.sentence(word_count: 5) picture = File.open("./app/assets/images/picture#{n+1}.jpg") user = User.find_by(id: n+1) user.microposts.create!(content: content, picture: picture ) end user = User.find_by(id: 1) 10.times do |n| content = Faker::Lorem.sentence(word_count: 5) picture = File.open("./app/assets/images/picture#{n+31}.jpg") user.microposts.create!(content: content, picture: picture ) end

picture1.jpgからpicture40.jpgまで該当のファイルに保存しており、サンプルユーザーで
画像付きの投稿のサンプルデータを作りたいと思っています。ちなみにサンプルユーザーは99人分作成してあります。

可能性だけでも教えていただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

<%= @microposts.each do |micropost| %>

erb

1 <% @microposts.each do |micropost| %>

<% %><%= %>は違うものなので注意が必要です。

投稿2019/10/21 19:16

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

arinc0

2019/10/22 05:33

ありがとうございます! 非常に助かりました! 違いをしっかりと意識してコード書くようにしていきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問