2012-01-12 65 views
0

不能完全弄清楚这里发生了什么。所以在我的路线我有will_paginate与资源路线集合

sso.namespace(:admin) do |admin| 
    admin.resources :locations, :collection => {:search => :post} 

在视图上生成分页很好。这里是我的查看代码:

<%= will_paginate @search_locations, :class => "loc_pagination", :params => {:controller => 'sso/admin/locations', :action => 'search'}, :style => "text-align: center;" if @search_locations %> 

问题是,当我点击链接时,它会触发GET请求并在搜索参数中进行搜索。这是服务器日志中的参数。

Parameters: {"action"=>"show", "id"=>"search", "page"=>"2", "controller"=>"sso/admin/locations"} 

生成的html代码听起来很合理,但我无法弄清楚它做错了什么。

回答

1

您已将搜索操作配置为仅响应post请求。当您尝试访问搜索结果的第二页时(通过获取请求),show route将显示响应。尝试更改:collection => { :search => :any }并将搜索词追加到传递给will_paginate的参数。

+0

不知道我能做什么:任何。用轨道总是很简单。 – thatmiddleway 2012-01-13 00:19:52

+0

我相信你也可以更清楚地使用'[:get,:post]'来避免任何额外的混淆。 – 2012-01-13 00:30:25