Я бы хотел отправить новые комментарии через AJAX с использованием JavaScript и rails-ujs в моем приложении Rails 5.1.4, работающем в производственной среде, базе данных Postgres 11 (без развертывания)
(Это работает всреда разработки)
Но когда я пытаюсь опубликовать новый комментарий, мое мнение не меняется, и в моем web-console
я получаю это:
TypeError: Comments is undefined
ссылаясь на строку 9 в моемфайл create.js.erb
create.js.erb
var comment = {
'body': '<%= @comment.body %>',
'commenter': '<%= @comment.user.name %> ',
'commenterId': '<%= @comment.user.id %> ',
'avatar': '<%= @comment.user.avatar %> ',
'datetime': '<%= @comment.created_at.strftime('on %e %b %Y at %H:%M') %>',
};
Comments.displayComment(comment); # <~ Line causing the error
console.log("Comment", comment);
извлечено comments.js
Comments = {};
Comments.displayComment = function(comment) {
var commentBlock = document.createElement('blockquote');
commentBlock.className = 'blockquote';
...
...
...
var comments = document.getElementById('commentList');
comments.appendChild(commentBlock);
};
извлечено показать представление (установить удаленно: true)
<%= form_for([@tip, @tip.comments.build], remote: true) do |form| %>
Я проверял другой постищу похожие ответы, но пока не повезло.Кроме того, я попытался объявить переменную «Комментарии» в файле create.js.erb
, но получил ту же ошибку.
Я думаю, что что-то отсутствует в моем JavaScript, но я не уверен, что.Любая помощь будет оценена.Спасибо.