Итак, у меня есть модель событий, у которой есть вопросы. Отношение такое же, как в Post-> Comment. Я попытался реализовать некоторые Ajax для Вопросов, но кажется, что я что-то пропустил, потому что View не обновляется без обновления страницы. Та же проблема с методом удаления.рельсы 4, вложенный ресурс не обновляется без обновления страницы, используя Ajax
Вот мой question_controller.rb:
def create
@question = @event.questions.create(question_params)
@question.user_id = current_user.id if current_user
if @question.save
respond_to do |format|
format.html { redirect_to event_path(@event) }
format.js # render questions/create.js.erb
end
else
render 'events/show'
end
end
Вопрос _form.haml:
= simple_form_for [@event, @event.questions.new], remote: true do |f|
= f.input :content, label: 'Your question:', id: 'question_content'
= f.submit class: 'submit_btn'
Вопрос парциальное _question.haml:
%h4
= question.content
Вот как это выглядит в события показывают .haml:
%section#question_section
%h1 Questions:
#questions
= render @event.questions
#question-form
%h1 Submit a question:
= render 'questions/form'
И create.js.erb файл:
$('#questions').append("<%= j render partial: @question %>");
$('#question_content').val('');
Я пытался несколько различных руководств, но всегда была такая же проблема. Просмотр обновлений только после обновления. Также это мой второй пост в Stackoverflow, поэтому был бы благодарен за любые предложения, если с этим что-то не так.
EDIT 1: в основном я после этого учебника: https://pragmaticstudio.com/blog/2015/3/18/rails-jquery-ajax
EDIT 2: create.js.erb, похоже, не отвечать, пытался проверить его с предупреждениями или лог консоли, но без любой успех. После запуска кнопки в консоли, имеющей: «Обработка по ВопросамController # create as JS» (поэтому он запускает правильный файл, но сам файл не выполняет какой-либо код). Не знаю, почему это происходит.
Вы можете подтвердить, что create.js.erb действительно получить выполнен? и что ваш вопрос имеет содержание. (т. е. это не просто добавление пустых тегов 'h4', которые бы выглядели так, как будто они не были добавлены вообще) – PhilVarg
кажется нет, я попытался выполнить console.log, и он не появляется после запуска кнопки create. также устал: format.js {render action: "create"} в контроллере – Punk
есть ли ошибки в вашей консоли сервера? что ответ сервера говорит об этом? – PhilVarg