Как ответить go на вопрос, который я прокомментировал - PullRequest
0 голосов
/ 06 марта 2020

У меня есть страница со списком комментариев, которые я сделал на вопросы других людей. Нажатие на комментарий должно go перейти на страницу с вопросом только этого человека вместе со всеми комментариями по этому вопросу. До сих пор я не смог понять это. У меня есть следующий код:

На каждый комментарий:

<%= link_to question_path(c.question_id), style:"color:black;" do %>
comment stuff
<% end %>

Это возможно, потому что у каждого комментария есть question_id. Каждый вопрос не имеет comment_id.

Очевидно, что это (на странице с одним вопросом) не работает. Не уверен, что будет. Я очень ценю помощь.

<% @questions.where(id: c.question_id).each do |question| %>

Ответы [ 2 ]

0 голосов
/ 06 марта 2020
# app/models/question.rb
class Question < ApplicationRecord
  has_many :comments
end

# app/models/comment.rb
class Comment < ApplicationRecord
  belongs_to :question
end

# config/routes.rb
resources :questions

# in the view of your comments
<%= link_to question_path(c.question), style:"color:black;" do %>
comment stuff
<% end %>

# app/controllers/questions_controller.rb
def show
  @question = Question.includes(:comments).find(params[:id])
end

# app/views/questions/show.html.erb
<%= @question %>
<% @question.comments.each do |c| %>
  <!-- show each comment -->
<% end %>
0 голосов
/ 06 марта 2020

Вопрос и комментарий можно найти в show методе управления вопросом.

class QuestionsController < ApplicationController

  def show
    @question = Question.find(params[:id])
    @comments = @question.comments # if has_many :comments setup
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...