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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

1366閲覧

Ruby on Rails でコメントに対する返信または特定のユーザーにタグ付け返信したい

atage517

総合スコア36

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/08/05 10:38

編集2020/08/05 10:39

わからないこと

Answer テーブルと reply テーブルがあり、それぞれの関係は以下の通りです。

class Answer < ApplicationRecord has_many :replies, dependent: :destroy end
class Reply < ApplicationRecord belongs_to :answer end

任意のアンサーに対しては以下のように返信することはできるのですが

<%= form_tag("/replies/#{answer.id}/create") do %> <div class="reply-form"> <div class="reply-form-body"> <% answer.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <textarea name="content" class="title-area" placeholder="回答に質問または返信する"></textarea> <input type="submit" value="返信する" class="join-union"> </div> </div> <% end %>
class RepliesController < ApplicationController def create answer = Answer.find_by(id: params[:answer_id]) @reply = Reply.new( user_id: @current_user.id, post_id: answer.post_id, answer_id: params[:answer_id], content: params[:content] ) if @reply.save redirect_to("/replies/#{answer.id}/index") end end end

このreplyに対してさらにreplyする方法がわかりません。

試したこと

replyに対してcommnetテーブルを作ろうと思ったのですが例えば
reply 1 に comment 1 で返信し、 comment1 にさらに返信したい時(commnet 2)に結局また同じことになると思いこの方法は違うと思いました。

特定のanswerに対して複数のreplyをすることは可能なのですが、replyに対してreplyしたい時のやり方が調べてもわからなかったのでここで質問させていただきます。

例)
answer1

reply1(answerに対して)
reply2(answerに対して)
reply3(answerに対して) はできる。

しかし、

answer1

reply1(answer1に対して)
reply2(reply1に対して)   ができない

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

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

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

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

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

guest

回答1

0

ベストアンサー

Replyにparent_id ( 実態はreply_id )を持たせてはReply同士で親子関係を実現してはどうでしょう?

例)
Answerに対するReplyのparent_idは nil
Reply(id: 123)に対するReplyは parent_id: 123

投稿2020/08/07 07:13

satoshih

総合スコア797

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問