После завершения учебника Hartl я пытаюсь реализовать @replies для модели Micropost.Оказание частичного с AJAX link_to in Rails
Мне нужна кнопка ответа на микросоте, чтобы отобразить форму микропоты прямо под указанным сообщением a la twitter. Я также хотел передать: micropost_id указанного сообщения в ответ, чтобы позже я мог ссылаться на этот пост, на который был получен ответ, опять же ла-твиттер.
Я пытался реализовать некоторые из них на основе ответа на вопрос this question.
Мой microposts контроллер имеет
def reply_form
respond_to do |format|
format.js
end
end
Связь с точки зрения является
<%= link_to 'reply', 'shared/reply_form', remote: true, locals: { object: :id } %>
С моей попытки там пройти на micropost: ид
После поста я это для часть, подлежащая представлению в:
<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?), Представляющим эту форму, затем сохраняет новую микропоставку, включая микро post_id исходного сообщения в столбце reply_to, который я создал в моей таблице микросообщений. Любые подталкивания в правильном направлении очень ценятся. Не хочу лаять абсолютно неправильное дерево. Благодарю.
EDIT: В настоящее время я получаю ошибку маршрутизации при нажатии на ссылку ответа.
(No route matches [GET] "/shared/reply_form")
Но насколько я вижу, все находится в нужном месте.
Должно быть, я написал свой вопрос не так. Теперь я дал вам совершенно неправильную идею, и мне очень жаль, потому что вы написали отлично. Я не пытаюсь здесь давать ответы, которые я пытаюсь сделать формой, чтобы создать новый ответ под конкретным сообщением в фиде микросообщения стиля Twitter, который я создал. Я просто пытаюсь отобразить форму в частичном, щелкнув ссылку, а не ссылаясь на отдельную страницу для этой формы. – Ossie