2017-01-15 46 views
0

Я хочу, чтобы иметь URL /community так вот что я сделал ... Я создал контроллер: CommunitiesController и есть это в моих маршрутах:Как настроить маршруты в контроллер, когда он не совпадает с именем

get 'community' => 'communities#index' 

Я установил это неправильно? Проблема у меня сейчас я хочу, чтобы добавить постраничный зал Kaminari но имена несоответствие является причина этого не работать:

get 'community' => 'communities#index' 
    resources :communities do 
    get 'page/:page', action: :index, on: :collection 
    end 

, как он хочет, чтобы я пользователь /communities/page/1, когда я хочу использовать /community/page/1

Каким будет правильный способ настройки контроллера и маршрута в этом случае?

Благодаря

ответ

0

Я бы с

get 'community' => 'communities#index' 
get 'community/page/:page' => 'communities#index' 

Но вы, возможно, потребуется настроить paginate метод и передать явные Params, чтобы заставить ее работать. Я не уверен, если это будет необходимо, но это выглядит примерно так

<%= paginate(@communities, params: { controller: 'communities', action: 'index' } %> 
0

Чем больше «находчивый» способ объявления исходный community маршрут выглядит следующим образом:

resources :communities, path: "community", only: "index" 

Затем вы можете добавить маршрут Kaminari согласно следующим образом:

resources :communities, path: "community", only: "index" do 
    get "page/:page", action: :index, on: :collection 
end 

Для дальнейшего объяснения, читать очень полезно Rails Routing from the Outside In руководство.

 Смежные вопросы

  • Нет связанных вопросов^_^