在介绍所有内容之前,请您了解一下我对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有一点了解,我很难理解。如果您降至我的水平并解释我将如何克服这场危机,我将不胜感激。谢谢!