我似乎无法从数据库中提取有序数据。我正在尝试根据他们的个人资料有多少观看次数在我的主页上列出用户。
我的users
架构如下所示:
# == Schema Information
#
#
# Table name: users
#
# id :integer not null, primary key
# email :string(255)
# created_at :datetime not null
# updated_at :datetime not null
# username :string(255)
# password_digest :string(255)
# views :integer
#
我的控制器:
class PagesController < ApplicationController
def home
@users = User.order("'views' DESC")
end
end
问题在于.order
什么都不做。 @users
仍按id
排序{}},就好像我已完成User.all
一样。我尝试在Rails控制台中运行User.order("'views' DESC")
,但我得到的内容与User.all
相同。
我检查了development.log,查询似乎已正确执行:
[1m[35mUser Load (0.2ms)[0m SELECT "users".* FROM "users" ORDER BY 'views' DESC
Rendered pages/home.html.erb within layouts/application (1.1ms)
Rendered layouts/_header.html.erb (0.5ms)
Rendered layouts/_footer.html.erb (0.0ms)
进行客户端分类工作,但是我想对用户进行分页,因此这不是一个选项。任何建议将不胜感激!
答案 0 :(得分:1)
@users = User.order("views DESC")
检查http://guides.rubyonrails.org/active_record_querying.html#ordering
对于分页,你可以获得这个宝石的一些帮助: https://github.com/mislav/will_paginate
答案 1 :(得分:0)
''
周围的视图是导致查询失败的原因。尝试不带引号:
User.order("views DESC")