如何选择除当前用户外的所有用户

时间:2018-10-25 03:06:17

标签: ruby-on-rails ruby

我想在索引页面上列出当前用户之外的所有用户。我试图建立一个“人们可以跟随”的功能,显然当前用户不能在该列表中。我当前的代码如下。我正在使用设备,我假设类似@users = User.where(user:!= current_user).limit(5)之类的东西。

tweets控制器,索引:

@users = User.all.limit(5)

索引页:

<h3 class="text-primary sides-title">Explore</h3>
<% @users.each do |user| %>
  <div class="user_card">
     <p class="users_username text-primary"><%= user.username %></p>
     <%=  cl_image_tag user.photo, height: 60, width: 60, crop: :fill, class: "users_photo" %>
     <%= link_to "Check'em out!", user_path(user), class: "user_button" %>
  </div>
<% end %>

2 个答案:

答案 0 :(得分:0)

User.where(user: != current_user)是无效的语法,对于SQL比较运算符,您可以提供一个字符串作为where的参数:

User.where('user_id != ?', current_user.id) # binding the argument provided

或者只是User.where.not(id: current_user.id)

答案 1 :(得分:0)

对于 Rails 4 + 表示法:

all位用户,current_user

User.where.not(id: current_user.id)

OR

current_userlimit以外的用户

User.where.not(id: current_user.id).limit(5)