0

我正在尝试向我在 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 } ) %>");

这里的任何帮助将不胜感激!谢谢!!

4

0 回答 0