Ruby on rails 如何设置控制器';当它不';与名字不符

Ruby on rails 如何设置控制器';当它不';与名字不符,ruby-on-rails,ruby,ruby-on-rails-4,kaminari,Ruby On Rails,Ruby,Ruby On Rails 4,Kaminari,我想要url/community,下面是我所做的。我创建了控制器:CommunitiesController,并在我的路由中设置了该控制器: get 'community' => 'communities#index' 我设置的不正确吗?我遇到的问题是,我现在想添加kaminari分页功能,但命名不匹配导致此功能无法正常工作: get 'community' => 'communities#index' resources :communities do get '

我想要url
/community
,下面是我所做的。我创建了控制器:
CommunitiesController
,并在我的路由中设置了该控制器:

get 'community' => 'communities#index'
我设置的不正确吗?我遇到的问题是,我现在想添加kaminari分页功能,但命名不匹配导致此功能无法正常工作:

  get 'community' => 'communities#index'
  resources :communities do
    get 'page/:page', action: :index, on: :collection
  end
当我想使用
/community/page/1
时,它希望我使用
/community/page/1

使用此用例设置控制器和路由的正确方法是什么?

我同意

get 'community' => 'communities#index'
get 'community/page/:page' => 'communities#index'
但您可能需要调整
paginate
方法并传递显式参数以使其工作。我不确定是否需要这样做,但看起来是这样的

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

更“足智多谋”的方式来声明您原来的
社区
路线如下:

resources :communities, path: "community", only: "index"
然后您可以按照如下方式添加Kaminari路线:

resources :communities, path: "community", only: "index" do
  get "page/:page", action: :index, on: :collection
end
如需进一步解释,请阅读非常有用的指南