2012-05-22 68 views
2

我使用雷分頁自定義頁面上,但它產生/資產基於URL頁面:雷和路由

http://localhost:3000/assets?action=my&controller=blogs&page=2 

我需要:

http://localhost:3000/blogs/my?page=2 

錯誤:

No route matches [GET] "/assets" 

有什麼建議嗎?

+0

您是否在使用普通的'paginate @ blogs'?如果從視圖中刪除此代碼,錯誤是否仍然存在? Kaminari根據當前uri生成鏈接。 – melekes

+1

不,我有'= paginate @ posts'。我試圖將params傳遞給'= paginate @posts,:params => {:controller =>'blogs',:action =>'my'}',同樣產生了斷開的鏈接。據我瞭解問題是在url_for方法。 – thesis

+0

你能用這個頁面上使用的路線寫出一部分routes.rb文件嗎? – melekes

回答

3

我遇到了完全相同的問題,嘗試爲Kaminari或Will_paginate設置自定義操作的分頁。原來問題出在我的routes.rb文件中。

作爲示例,我的自定義操作在「卡片」控制器中稱爲「all_credit」。以前在routes.rb中我有:

match '/cards_credit' => 'Cards#all_credit' 

這是給我相同的行爲,你上面描述和生息資產/類型的網址。

通過改變行routes.rb中來:

match '/cards_credit(/:page)', :controller => 'cards', :action => 'all_credit' 

我能解決這個問題,現在正在正確生成分頁鏈接。

+0

不適合我 –

+0

謝謝,把我拉出戰壕 – ragingsquirrel3

1

我已通過添加控制器參數解決。

<%= paginate @blog , :params => {:controller => "GoogleUsers"} %>