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

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

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

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

Q&A

1回答

936閲覧

Rails コメント一覧 表示

anago_000

総合スコア14

Ruby on Rails 5

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

1グッド

1クリップ

投稿2018/12/09 12:19

ruby on railsであるユーザーがinstagramのように写真付きの投稿をして、その投稿に自由にコメントを残すことができるサービスを実装しようと考えています。まず、投稿にコメント出来るようにし、コンソール上でもコメントが保存されていることが確認出来ました。しかし、投稿にコメントしたはずなのに、コメントが表示されなくて困っています。具体的には、下記の画像のように実装したいです。
rubyの勉強を初めてまだ日が浅いので、どなたか参考になるようなサイトでも宜しいのでお願いします!
イメージ説明
↓views/topics/inidex.html.erb

ruby

1<div class="topic-index-wrapper"> 2 <div class="container"> 3 <% @topics.each do |topic| %> 4 <div class="row"> 5 <div class="col-md-6 col-md-offset-3"> 6 <div class="topic-index-single"> 7 <h2 class="topic-author"> 8 <%= topic.user.name %> 9 </h2> 10 <%= image_tag topic.image.url %> 11 <% if !topic.favorite_users.include?(current_user) %> 12 <%= link_to favorites_path(topic_id: topic.id), method: :post do %> 13 <%= image_tag 'icons/heart-black.png', class: 'topic-index-icon' %> 14 <% end %> 15 <% end %> 16 <%= image_tag 'icons/comment.png', class: 'topic-index-icon' %> 17 <%= form_tag("/topics/comment") do %> 18 <form> 19 <div class="form-group"> 20 <textarea name="comment" class="form-control"></textarea> 21 <textarea name="topic_id" class="hidden"><%= topic.id %></textarea> 22 <textarea name="user_id" class="hidden"><%= topic.user_id %></textarea> 23 </div> 24 <button type="submit" class="btn btn-primary">コメント</button> 25 <% end %> 26 <p class="topic-text"> 27 <%= topic.description %> 28 </p> 29 </div> 30 </div> 31 </div> 32 <% end %> 33 </div> 34 </div> 35

↓controllers/topics/controller.rb

ruby

1() 2def comment 3 @comment = Comment.new(comment: params[:comment], topic_id: params[:topic_id], user_id: params[:user_id]) 4 @comment.save 5 redirect_to topics_path 6 end 7()

↓config/routes.rb

ruby

1Rails.application.routes.draw do 2 get 'sessions/new' 3 4 root 'pages#index' 5 get 'pages/help' 6 7 get '/login', to: 'sessions#new' 8 post '/login', to: 'sessions#create' 9 delete '/logout', to: 'sessions#destroy' 10 11 resources :users 12 resources :topics do 13 resources :comment 14 end 15 16 get 'favorites/index' 17 post '/favorites', to: 'favorites#create' 18 post "topics/comment" => "topics#comment" 19 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 20end 21
DrqYuto👍を押しています

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

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

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

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

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

guest

回答1

0

コメントの描画処理がどこにもないから表示にされないのは当然ですね
フォームの下とかにコメント一覧を出す記述とかが必要ではないでしょうか?

erb

1<form> 2#略 3</form> 4<% topic.comments.each |comment| %> 5 <pre><%= comment.comment %></pre> 6<% end %>

投稿2018/12/13 09:33

Ighrs

総合スコア656

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問