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")
しかし、私が見る限り、すべてが適切な場所にあります。