0

我收到错误 No route matches {:action=>"index", :controller=>"search"}

使用时

link_to "Next Page", {:controller => 'search', :action => 'index'}

My routes.rb contains 
resources :search, only: [:index]

当我使用该动作时效果很好

link_to "Next Page", '/search'

耙路线结果

                          Prefix Verb  URI Pattern                                         Controller#Action
               errors_cookie GET   /errors/cookie(.:format)                            errors#cookie
                             GET   /categories(/:level1)(/:level2)(/:level3)(.:format) search#categories
                             GET   /category/filter/:type(.:format)                    search#category_filter_sort
                       brand GET   /brand(.:format)                                    search#brand
                             GET   /brand/filter/:type(.:format)                       search#brand_filter_sort
                search_index GET   /search(.:format)                                   search#index
              search_suggest GET   /search/suggest(.:format)                           search#suggest
                 search_list GET   /search/list(.:format)                              search#list
                             GET   /search/filter/:type(.:format)                      search#filter_sort
                             GET   /sd/:slug(.:format)                                 search#show
                             GET   /sd/compare/:id(.:format)                           search#compare
           delete_favourites POST  /favourites/delete(.:format)                        favourites#delete
           usuals_favourites GET   /favourites/usuals(.:format)                        favourites#usuals
           orders_favourites GET   /favourites/orders(.:format)                        favourites#orders
                  favourites GET   /favourites(.:format)                               favourites#index
                             POST  /favourites(.:format)                               favourites#create
Routes for Spree::Core::Engine:
                spree_user_omniauth_authorize GET|POST /users/auth/:provider(.:format)                                             spree/omniauth_callbacks#passthru {:provider=>/facebook|twitter|github|google_oauth2|amazon/}
                 spree_user_omniauth_callback GET|POST /users/auth/:action/callback(.:format)                                      spree/omniauth_callbacks#:action    
Routes for Ahoy::Engine:
visits POST /visits(.:format) ahoy/visits#create
events POST /events(.:format) ahoy/events#create
4

1 回答 1

0

它是一个 spree 应用程序,控制器继承自 Spree::BaseController。url_for 只看到 spree 引擎中的路由而不是全局路由

通过将 main_app 添加到 url_for 修复了该问题main_app.url_for(...)

将这个猴子补丁用于 kaminari

谢谢你的时间亚历山大。

于 2016-01-02T04:50:33.427 回答