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
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。