2012-01-12 11 views
0

ここで何が起こっているのか分かりません。だから私のルートには私が持っているwill_paginate with resourcesルートコレクション

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リクエストを発射するとのparamsで検索スティックということです。サーバーログのパラメータは次のとおりです。

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

生成されたHTMLコードは健全に見えますが、間違っていることがわかりません。

答えて

1

postリクエストにのみ応答するように検索アクションを設定しました。検索結果の2番目のページ(getリクエスト経由)にアクセスしようとすると、showルートが応答を取得します。 :collection => { :search => :any }を変更し、will_paginateに渡されたパラメータに検索語を追加してください。

+0

私ができることを知りませんでした。それは常にレールで簡単です。 – thatmiddleway

+0

あなたはもう少し明示的で、さらに混乱を避けるために '[:get、:post]'を使うこともできると思います。 –