gpt4 book ai didi

javascript - Rails Upvote AJAX 无法正常工作

转载 作者:行者123 更新时间:2023-11-30 16:28:26 25 4
gpt4 key购买 nike

所以我的投票链接正在替换所有链接而不是单个链接的投票计数器。帮忙?

Controller

  def upcount
@category = Category.find(params[:id])
@category.upcount
@category.save
respond_to do |format|
format.html {redirect_to categories_path(@category)}
format.js
end
end

查看

  <% @categories.each do |category| %>
<div class="col-md-3 col-sm-6 hero-feature">
<div class="thumbnail">
<%= image_tag category.image.url(:large) %>
<div class="caption">
<%= category.name %> - <%= category.quote %></p>
<%= link_to "Upvote", upcount_category_path(category), method: "put", remote: true %>
<div id="total-votes">
<%= category.count %>
</div>
</div>
</div>
</div>
<% end %>

Upcount.js.erb

$("#total-votes").html("<%= @category.count %>")

单击第二个链接会将第一个和第二个链接替换为 15。感谢任何帮助。谢谢!

最佳答案

HTML id 应该是唯一的。您重复的“总票数”ID 导致 HTML 无效。它还会混淆您的 javascript,因为它不知道您要定位哪个 div。

您可以通过将类别 ID 添加到 html id 来解决此问题,例如 total-votes-<%= category.id %> , 因此它对所有人都是独一无二的。

完整示例:

查看文件

<% @categories.each do |category| %>
<div class="col-md-3 col-sm-6 hero-feature">
<div class="thumbnail">
<%= image_tag category.image.url(:large) %>
<div class="caption">
<%= category.name %> - <%= category.quote %></p>
<%= link_to "Upvote", upcount_category_path(category), method: "put", remote: true %>
<div id="total-votes-<%= category.id %>">
<%= category.count %>
</div>
</div>
</div>
</div>
<% end %>

Upcount.js.erb

$("#total-votes-<%= @category.id %>").html("<%= @category.count %>")

关于javascript - Rails Upvote AJAX 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33752158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com