2014-02-12 23 views
1

在管理结束时,我认为“用户”表,我想它的被下令:ID在管理我的排序表的顺序 - 轨道

我可以在这个手动每次我去做到那个管理屏幕,但有没有办法默认显示按ID排序的用户表?

管理/ users_controller.rb:

class Admin::UsersController < ApplicationController 
    before_action :set_user, only: [:show, :edit, :update, :destroy] 
    before_action :authenticate_admin 

    layout 'admin_application' 

    def index 
    @search = User.search(params[:q]) 
    @users = @search.result 
    end 

,并在管理/用户/ index.html.haml

%table.users_table 
    %thead 
    %tr 
     %th= sort_link(@search, :id, 'ID') 
     %th= sort_link(@search, :name, 'Name') 
     %th= sort_link(@search, :username, 'Username') 
     %th Email 
     %th City 
     %th Review count 
     %th Last logged in time 
     %th 
     %th 
     %th 
    %tbody 
    - @users.each do |user| 
     %tr 
     %td= user.id 
     %td= user.name 
     %td= user.username 
     %td= user.email 
     %td= user.city 
     %td= user.reviews.count 
     - if user.has_logged_in? 
      %td= user.last_login.to_s(:long) 
     - else 
      %td No login yet 
     %td= link_to 'Show', admin_user_path(user) 
     %td= link_to 'Edit', edit_admin_user_path(user) 
     %td= link_to 'Destroy', admin_user_path(user), :method => :delete, :data => { :confirm => 'Are you sure?' } 

回答

2

添加下面一行到你的用户的顶部ActiveRecord类

default_scope order('id ASC') 

您将按照升序用户标识的顺序获取AR对象集合。

+0

完美,谢谢! – tessad

+0

请投票:) –

0

在用户模型添加范围,如:

default_scope order: 'id asc'