我想创建一个用户排名.它应该按添加事件的数量对用户进行排序.
那是我的档案:
User.rb:
class User < ActiveRecord::Base has_many :events #... end
ranking.html.erb:
<tr> <% User.all.each do |user| %> <td> <%= user.name %></td> <td> <%= user.events_count %></br></td> <% end %> </tr>
schema.rb:
create_table "users",force: true do |t| #... t.integer "events_count",default: 0 end
怎么做?
解决方法
我猜你想要使用计数器缓存.
Event.rb:
class Event < ActiveRecord::Base belongs_to :user,counter_cache: true end
ranking.html.erb:
<tr> <% User.order(events_count: :desc).each do |user| %> ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。