除非重新加载页面,否则“ Friend / Unfriend”不起作用

时间:2018-12-12 19:46:31

标签: javascript ruby-on-rails ajax

在介绍所有内容之前,请您了解一下我对Rails非常陌生的事实。我正在尝试启用Friend / Unfriend功能,直到现在为止。

我制作了add_friend.js.erb并添加了以下代码。

$(".grid-box.c a").text("Cancel Friend Request");
$(".grid-box.c a").attr("href", "http://localhost:3000/friends/<%= @user.id %>/cancel_friend?friend_id=<%= @user.id %>");

我还制作了cancel_friend.js.erb并进行了同样的操作。

$(".grid-box.c a").text("Add Friend!");
$(".grid-box.c a").attr("href", "http://localhost:3000/friends/<%= @user1.id %>/add_friend?friend_id=<%= @user1.id %>");

查看文件如下。

<% if current_user.sent_friend(@user) == true %>
  <%= link_to "Cancel Friend Request", cancel_friend_path(:friend_id => @user.id), method: 'delete', remote: true %>
<% elsif current_user.is_friend(@user) == false %>
  <%= link_to "Add Friend!", add_friend_path(:friend_id => @user.id), method: 'get', remote: true %>
<% end %>

有些人可能已经注意到,以这种方式,除非重新加载页面,否则它将无法工作。我在Google上花费了几个小时,以找出解决问题的方法,是的,我知道这与Ajax和Turbolinks之类的东西有关,而且我也知道对此问题也有类似的问题和答案,但是由于我有对Rails有一点了解,我很难理解。如果您降至我的水平并解释我将如何克服这场危机,我将不胜感激。谢谢!

0 个答案:

没有答案