我一直在努力关注Michael Hartl的教程。因此,我设置了一个数据库,如下所示:
我想只显示用户(例如userA)是否跟随另一个用户(例如userB)并且userB正在关注userA。
我试图在模型中定义它,然后从控制器动作执行ajax调用。
我尝试使用另一个question的答案。这就是我到目前为止所拥有的
user.rb
def reciprocal_followers
self.followers & self.followed_users
end
users_controller.rb
def reciprocal_followers
@reciprocal_followers =current_user.reciprocal_followers
end
index.html.erb
<% @reciprocal_followers %>
但我得不到任何回报
所以我将index.html.erb更改为
<%= current_user.reciprocal_followers %>
并且我得到了我期望的结果,但如果我只是想要我得到的对象的名称或名称“未定义”&#39;错误。
如何获得互惠粉丝列表
答案 0 :(得分:3)
反复您对undefined method
当您使用&
运算符时,它会对数组执行操作,这意味着它已经加载了数据库的内容。换句话说
self.followers & self.followed_users
相当于
self.followers.to_a & self.followed_users.to_a
并将返回一组追随者对象。
你实际上可以这样做来获取他们的ID:
<%= current_user.reciprocal_followers.map(&:id) %>
它将返回reciprocal_follower
ID
答案 1 :(得分:0)
请在index.html.erb中更改此行
<% @reciprocal_followers %>
到此
<%= @reciprocal_followers %>
让我知道会发生什么