質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

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

Ruby on Rails

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

Q&A

解決済

1回答

491閲覧

コメントでimageを送信しなかったときの表示について。

mamiduka

総合スコア11

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/07/01 00:32

いつもお力を貸していただきありがとうございます。
railsでアプリを作成中に引っかかってしまいましたので教えてください。

表題の通り、あるツイートに対してのコメント機能を実装しましたが、そのコメントの表示についてです。

コメントではtextとimageを送信できます。
このコメントの表示でimageの送信しなかった場合の表示をtextだけにしたいですがうまくいきません。
下記の6行目のようにしてみたのですが、これだと何個かimageのないコメントをしてみるとimageのないコメントの1つしか意図した表示になりません。。
どのように変更すれば良いのか教えていただけるとありがたいです。
よろしくお願いします。

1<div class="column is-7"> 2 <% if @comments.present? %> 3 <div class="card"> 4 <% @comments.each do |comment| %> 5 <hr> 6 <% if comment.image.present? %> 7 <% else %> 8 <div class="card-image"> 9 <figure class="image is-4by3"> 10 <%= attachment_image_tag comment, :image %> 11 </figure> 12 </div> 13 <% end %> 14 <div class="card-content"> 15 <div class="content"> 16 <table class="table is-narrow"> 17 <tr> 18 <th>回答:<%= link_to comment.user.username, "/users/#{comment.user_id}" %>さん</th> 19 </tr> 20 <tr> 21 <td><%= simple_format comment.text %></td> 22 </tr> 23 </table> 24 </div> 25 </div> 26 <% end %> 27 </div> 28 <% else %> 29 <h1 class="subtitle">まだ回答がありません</h1> 30 <% end %> 31</div>

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

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

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

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

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

maisumakun

2020/07/01 00:34

「意図した表示になりません」とありますが、具体的にどのような状況になっているのでしょうか?
mamiduka

2020/07/01 00:39

3つほどimageなしのコメントをしてみると、初めの1つ目のコメントだけは8行目の<div class="card-image">``の部分が表示されてない状態なのですが、そのほかのコメントは8行目のdivが表示されていて、不自然な空間が空いている状態です。 imageがコメントになければ、そのdivタグ自体を無くして表示させたいです。 日本語がわかりにくくて申し訳ありません。 よろしくお願いいたします。
guest

回答1

0

ベストアンサー

imageがコメントになければ、そのdivタグ自体を無くして表示させたいです。

imageの登録がないことは間違いないのでしょうか。純然たる空というわけではなくて、破損したデータが登録されていたりはしませんか?

投稿2020/07/01 00:41

maisumakun

総合スコア145184

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

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

mamiduka

2020/07/01 00:52

破損したデータではないと思います。 6、7、13行目を削除すると送信した写真は表示されていますし。。。 maisumakun様がみる限り、コードに間違いなどは見受けられないでしょうか? あと、質問のところに記載し忘れておりましたが、6、7、13行目をかくと、imageありで送信したコメントのimageも表示がされていないです。。 いろいろ調べて.present?を6行目に書いたのですが。。
maisumakun

2020/07/01 00:53

なぜpresent?のelseの側に書いているのでしょうか(「なければ<div>を表示する」という意味になります)。
mamiduka

2020/07/01 01:28

本当に申し訳ございません。。。 .blank?と間違えて書いていました。。 お時間いただき、ご回答していただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問