我正在尝试向我在 rails 中创建的地点对象添加点赞功能——我正在使用 Actsasvotable 并且从数据库中添加/删除点赞没有问题。但是,我现在卡住了,无法弄清楚如何在没有页面加载的情况下添加类似内容。
这是我的看法:
<div class="place-likes" id="place-<%= place.id %>.likes">
<%= render 'places/likes', place: place %>
</div>
其中包括以下部分:
<%= render 'shared/likes_form', likeable: place %>
<div class="place-<%= place.id %>.like-count"><%= likers_of(place) %></div>
它调用了共享喜欢形式(用于除地点以外的其他对象):
<% if current_user.liked? likeable %>
<%= form_tag unlike_path(likeable_type: likeable.class.to_s, likeable_id: likeable.id), method: :post, remote: true, class: 'unlike' do %>
<% button_tag class: "glyphicon glyphicon-heart" do %>
<% end %>
<% end %>
<% else %>
<%= form_tag like_path(likeable_type: likeable.class.to_s, likeable_id: likeable.id), remote: true, class: 'like' do %>
<% button_tag class: "glyphicon glyphicon-heart-empty" do %>
<% end %>
<% end %>
<% end %>
一旦控制器将类似内容保存到数据库中,它就会返回以下 javascript。我已经仔细检查了这个 javascript 是否与使用控制台的正确对象匹配,但无论我做什么,我的 .html 部分都不起作用:
$("#<%= @likeable_type.downcase %>-<%= @likeable.id %>.likes").html("<%= j (render partial: 'places/likes', locals: { place: @likeable } ) %>");
这里的任何帮助将不胜感激!谢谢!!