Добрый день!
О системе: rails 5.0.2 ruby 2.4.0
Создаю вопрос, к нему создаю ответ, ответ создается страница рендерится и тут сразу глюк, форма не очищается. Затем жму кнопку edit на вновь созданном ответе и страница обновляется и не дает форму для редактирования. Сам ответ на странице присутствует, а вот если смотреть исходный код страницы, то его там нету.
Если я обновляю F5, то нажав кнопку Edit, все нормально, форма появляется можно редактировать, но и тут проблема отредактированный ответ не остается на месте, а падает в самый низ, встает последним.
Не очищается форма при создании ответа. Именно после создания ответа, кнопка Edit вновь созданного ответа перестает показывать форму во всех ответах, которые есть на странице, пока не обновишь страницу F5 После редактирования ответа, перемещается вконец списка.
Заметил, что добавление ответа работает корректно, до добавления редактирования, куда смотреть уже не знаю, попробовал и gem jquery turbolink, пробовал функцию на ready вешать, воз и ныне там.
Assets:
answers.coffee
edit_answer = ->
$('.edit-answer-link').click (e) ->
e.preventDefault();
$(this).hide();
answer_id = $(this).data('answerId')
$('form#edit-answer-' + answer_id).show()
$(document).ready(edit_answer)
$(document).on('page:load', edit_answer)
$(document).on('page:update', edit_answer)
views:
update.js.erb
<% if @answer.errors.present? %>
<% @answer.errors.full_messages.each do |message| %>
$('.answer-errors').html('<%= j message %>');
<% end %>
<% else %>
$('.answer-<%= @answer.id %>').html('<%= j render @answer %>');
<% end %>
_answer.html.slim
- if answer.persisted?
= answer.body
- if current_user && current_user.author?(answer)
= link_to 'Edit', '', class: 'edit-answer-link', data: { answer_id: answer.id }
br
p
= form_for answer, remote: true, html: { id: "edit-answer-#{answer.id}" } do |f|
p= f.label :body, 'Answer'
.answer-errors
= f.text_area :body
= f.submit 'Save'
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники