Ruby on Rails Ajax with Remote Forms



当我以ajax的形式在应用程序中添加注释时,您好,我必须重新加载浏览器才能上传注释。在浏览器中,我收到此错误,我应该在此文件中出现此错误:

(function() {
$(document).on("ajax:success", "form#comments-form", function(ev, data) {
console.log(data);
$(this).find("textarea").val("");
return $("#comments-box").append("<li> " + data.body + " -  </li>");
});
$(document).on("ajax:error", "form#comments-form", function(ev, data) {
return console.log(data);
});
}).call(this);

我在 comments.coffe 中有这个文件,如下所示:

$(document).on "ajax:success", "form#comments-form", (ev,data)->
console.log data
$(this).find("textarea").val("")
$("#comments-box").append("<li> #{data.body} -  </li>")
$(document).on "ajax:error", "form#comments-form", (ev,data)->
console.log data

如果你能帮助我,我感谢你。

我遇到了同样的问题,并通过执行以下操作来解决它

在文件夹 app/asset/javascripts/application 中.js查找下一行

//= 需要 rails-ujs和 changefor//require rails-ujs

这样,该库不会被调用,也不会与jquery产生冲突。

希望对您有所帮助

<%= 
form_for([@article,@comment], remote: true, html: { id: "comments-form", :"data- 
type" => 
"json" }) do |f| %>
<% if @comment.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(comment.errors.count, "error") %> prohibited this comment 
from 
being saved:</h2>
<ul>
<% comment.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :body %>
<%= f.text_area :body %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

最新更新