好的,所以我正在使用沙袋宝石来追踪我的帖子的点击次数。我想要做的是有一个排名系统。因此,观看次数最多的帖子将是第1个,并且说第10个观看的帖子会说第10个。有没有人以前这样做过,或者可以让我朝着正确的方向努力。
现在我在帖子上显示
的点击次数<div class="votes">
<strong>VIEWS</strong>
<%= @post.hits %>
我只是通过整体视图对它们进行排名,这是我的帖子控制器
def index
if params[:sort_param] == "views"
@posts = Post.sort_by_popularity('DESC')
elsif params[:sort_param] == "likes"
@posts = Post.all.order(:cached_votes_up => :desc)
else
@posts = Post.all.order("created_at DESC")
end
端
我不知道其他任何代码对任何人都有帮助。我很乐意添加更多有用的代码。我只想弄清楚如何在帖子上对节目进行排名。因此,当您点击帖子时,您会看到帖子在视图上的排名。例如,您将看到450个视图(我已经拥有此视图)和排名第5。我希望人们能够看到帖子在观看次数上的排名。我只是不知道从哪里开始
答案 0 :(得分:1)
让我们说@post有你试图找出排名的帖子。下一步是搜索你带的数组
@posts = Post.sort_by_popularity('DESC')
找到@post出现的位置。您可以尝试这样做:
@ranking = @posts.find_index(@post) + 1
现在你有关于点击的帖子相对于其他人的位置。另外一个是因为数组从零开始