0

Hartl のチュートリアルを完了した後、Micropost モデルに @replies を実装しようとしています。

マイクロポストの返信ボタンで、そのポストの下にあるマイクロポスト フォームを Twitter 風にレンダリングしたかったのです。また、その投稿の :micropost_id を返信に渡したいと思っていたので、後でどの投稿への返信だったかを参照できます。

この質問への回答に基づいて、その一部を実装しようとしています。

私のマイクロポストコントローラーには

def reply_form

    respond_to do |format|
      format.js
    end
  end

ビュー内のリンクは

<%= link_to 'reply', 'shared/reply_form', remote: true, locals: { object: :id } %>

マイクロポストを渡そうとした私の試みで:id

投稿後、パーシャルをレンダリングするためにこれを持っています:

<div id="ReplyContainer"></div>

私は _reply_form.js.erb を持っています

$('#ReplyContainer').html('<%=j render partial: 'shared/reply_form', locals: { object: :id } %>')

エラーはスローされませんが、「返信」リンクをクリックしても効果がなく、_reply_form.html.erb 部分がレンダリングされません。

私の最終的な目標は、返信をクリックして、メッセージの先頭に @username を付けてマイクロポスト フォームをレンダリングし (micropost_id から派生したものですか?)、そのフォームを送信し、reply_to 列に元の投稿のマイクロ post_id を含む新しいマイクロポストを保存することです。マイクロポスト テーブルに作成したものです。正しい方向への微調整は大歓迎です。完全に間違ったツリーを吠えたくない. ありがとう。

編集:現在、返信リンクをクリックするとルーティング エラーが発生します。

(No route matches [GET] "/shared/reply_form")

しかし、私が見る限り、すべてが適切な場所にあります。

4

2 に答える 2