Ruby on rails 如何检查当前用户是否阻止目标用户作为跟随者
我无法检查当前用户是否正在阻止目标用户。我正在尝试为“阻止/取消阻止”功能创建一个切换按钮。我不知道人们是如何做到这一点的,除非他们的解决方案不支持AJAX。如何检查当前用户是否在跟踪目标@user对象 _block_user.html.erbRuby on rails 如何检查当前用户是否阻止目标用户作为跟随者,ruby-on-rails,ajax,activerecord,acts-as-follower,Ruby On Rails,Ajax,Activerecord,Acts As Follower,我无法检查当前用户是否正在阻止目标用户。我正在尝试为“阻止/取消阻止”功能创建一个切换按钮。我不知道人们是如何做到这一点的,除非他们的解决方案不支持AJAX。如何检查当前用户是否在跟踪目标@user对象 _block_user.html.erb <% # unless @user == current_user %> <% **if current_user.blocking?(@user)** %> <%= link_to(unblock_user_p
<% # unless @user == current_user %>
<% **if current_user.blocking?(@user)** %>
<%= link_to(unblock_user_path(@user), :remote => true, :class => 'btn btn-outline-danger') do %>
<i class="fa fa-stop-circle"></i>
Unblock
<% end %>
<% else %>
<%= link_to(block_user_path(@user) ,:remote => true, :class => 'btn btn-outline-primary') do %>
<i class="fa fa-play-circle"></i>
Block
<%end%>
<% end %>
<% # end %>
true,:class=>'btn btn outline danger')do%>
解除封锁
true,:class=>“btn btn大纲主要”)do%>
块
如果它是一个带有AJAX的按钮,那么你必须有类似的东西
<% if (!current_user.liked? @user) %>
<%= link_to like_user_path(@user), class:"like-btn", method: :put, remote: true do %>
<i class="fa fa-stop-circle"></i>
<% end %>
<% else %>
<%= link_to like_user_path(@user), class:"like-btn", method: :put, remote: true do %>
<i class="fa fa-play-circle"></i>
<% end %>
<% end %>
我发现用户是否被阻止的方法。(在没有当前用户检查器的情况下进行测试)
true,:class=>'btn btn outline danger')do%>
解除封锁
true,:class=>“btn btn大纲主要”)do%>
块
看起来不错。我使用了不同的方法来获取显示正确状态的按钮。我将发布解决方案。
<% if current_user.liked? @user %>
document.getElementsByClassName('like-btn')[0].className = "like-btn liked";
<% else %>
document.getElementsByClassName('like-btn')[0].className = "like-btn disliked";
<% end %>
def like
if !current_user.liked? @user
@user.liked_by current_user
elsif current_user.liked? user
@user.unliked_by current_user
end
respond_to do |format|
format.html { redirect_back(fallback_location: root_path) }
format.js
end
end
<% #unless @user == current_user %>
<div id="block_user<%= @user.id %>">
<% if current_user.blocks.include?(@user) %>
<%= link_to(unblock_user_path(@user), :remote => true, :class => 'btn btn-outline-danger') do %>
<i class="fa fa-stop-circle"></i>
Unblock
<% end %>
<% else %>
<%= link_to(block_user_path(@user), :remote => true, :class => 'btn btn-outline-primary') do %>
<i class="fa fa-play-circle"></i>
Block
<% end %>
<% end %>
</div>
<% # end %>