2017-01-19 49 views
1

Kaminari является handeling пагинации в моем приложении, в примере, если я хочу, индекс миссии быть paginateable все, что мне нужно, чтобы добавить этот код в routes.rb:рельсов - Kaminari пагинация методы не ресурсы

concern :paginatable do 
    get '(page/:page)', :action => :index, :on => :collection, :as => '' 
    end 

    resources :missions, only: [:index, :create, :show, :destroy], :concerns => :paginatable do 
    post :done, on: :member 
    end 

и в missions_controller.rb:

def index 
    missions = Mission.all 
    if params[:page] 
     missions = missions.page(params[:page]) 
    end 
    respond_with missions 
    end 

но что, если у меня есть в mission_controller.rb другой метод - миссии для пользователя:

def user 
    missions = Mission.where(recipient_id: current_user.id) 
     if params[:page] 
     missions = missions.page(params[:page]) 
    end 
    respond_with missions 
    end 

в routes.rb он настроен так:

get 'users_missions' => 'missions#user' 

как я могу настроить routes.rb для поддержки разбиения на страницы для этого метода?

ответ

1

Это решается путем добавления еще одну строку в routes.rb:

get 'users_missions/page/:page' => 'missions#user' 

рядом с предыдущей (get 'users_missions' => 'missions#user')