Re: [RoR ] 新手問題 -- Paginate 無法使用?

看板Ruby作者 (Q麵)時間15年前 (2008/12/13 22:05), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串3/4 (看更多)
首先先感謝版大的回覆 <(_ _)> 後來試了您的方法,學到了不少東西﹙順便把 will_paginate 改成 2.3.6 XD﹚ 只是結果就和一開始相同,出現「undefined method `paginate' 」 然後又去 Google 了一下~~ 根據網路上的討論,動態scaffold + will_paginate 看起來似乎合不起來~ 沒辦法在 Controller 下只靠一行 "scaffold model名" 就能直接運行。 ﹙也許是我的觀念不對,但之前我測的範例並沒有產生 view﹚ 後來找到的範例似都需要用靜態scaffold來產生文件後,再套用 will_paginate ﹙似乎是一定要有 index.rhtml,如以下的例子﹚ http://hdj-berkeley.blogspot.com/search/label/ruby 總之我想先跳過動態scaffold + paginate的組合。先來試試靜態的scaffold~ :p 等到以後有 paginate 能順利的跑動態 scaffold 再回來試試~ ※ 引述《godfat (godfat 真常)》之銘言: : ※ 引述《cuteman0725 (Q麵)》之銘言: : : Ruby 苦手又來問問題了~~這次是有關於 will_paginate 的問題~ : : .環境:Windows + ruby 1.8.6-287 + rails 2.2.2 + will_paginate 2.2.2 : : .問題描述: : 你的問題描述很清楚,連錯誤訊息抓圖都有,可以算發問典範之一了 XD : rails 自某個版本(忘記是哪個了)之後移除 pagination 的東西, : 一般建議就是使用 will_paginate 沒錯。 : : 6.安裝 classic_pagination : 別灌這個了,rails 更新速度之快(應該說 break code 速度), : 搞不好是所有 framework 裡面最快的... 連 minor update, : 2.x.y 那個 y 數字改了都有可能不相容,classic_pagination 我猜 : 早就不能用了... : 像是 in_place_editing 很多人都在用,但官方的在 2.2.2 也是爛的。 : 逼不得已,只好自己 fork 來改: : http://github.com/godfat/in_place_editing : 感覺 rails developer 對 in_place_editing 沒有愛... : 更遑論這大概沒有人在用的 classic_pagination 了。 : : 5.下指令:gem install will_paginate : : 6.修改 config/environment.rb,在最後一行加入 require 'will_paginate' : : 7.重開 web service,出現了一開始的錯誤 undefined method `paginate' : : http://i218.photobucket.com/albums/cc282/cuteman0725/pagenation_class.jpg
: will_paginate 的用法不是這樣用的。另外既然你都用 rails 2.2.2 了, : 就改用 config.gem 的方式吧。修改 environment.rb, 找到: : Rails::Initializer.run do |config| : 在裡面加入: : config.gem 'will_paginate', :version => '>=2.2.2' : 這告訴 rails 你的程式 depend on will_paginate 2.2.2 以上的版本, : 載入環境時也會自動 require 'will_paginate'. : 如果你需要 require 其他 lib, 例如 rmagick 是要 require 'RMagick', : 則寫: : config.gem 'rmagick', :version => '>=2.5.2', :lib => 'RMagick' : 這樣會比你單純使用 require 要來得好。 : 至於 will_paginate 的用法,參考: : http://github.com/mislav/will_paginate : 類似這樣: : @posts = Post.paginate :page => params[:page], :per_page => 50 : 跟 classic_pagination 用法有不小的差異。(大概啦,有點忘了...) : == : 最後廣告一下,基本上我是討厭 will_paginate 的作法,rails 很多 : plugin 的寫法都很骯髒,除了換版本可能會掛掉外,灌一堆也很容易互相衝突。 : 因此我寫了個自己的分頁工具: : http://github.com/godfat/pagify : 用起來可能沒有 will_paginate 方便,因為很多東西我覺得太自動是會出事的。 : 因此暫時還沒有 <%= will_paginate @posts %> 這麼方便的東西。 : 有興趣的話可以試用看看,有任何問題和想法歡迎跟我討論,感謝。 : 安裝可以用 git clone 下來或下載 tarball (那個 download 的按鈕) : 然後安裝 gem install bones. 接著到 pagify 的目錄下指令: : rake gem:install : 即可以安裝最新的版本。或是安裝可能不是最新的版本: : gem install godfat-pagify --source http://gems.github.com : 再過一段時間我就會發佈正式版到 rubyforge 上,現階段還在測試, : 有不少功能還沒加上去。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.137.21.122

12/13 22:27, , 1F
原來是用 scaffold plugin... 那還能跑嗎? @_@ 應該不行..
12/13 22:27, 1F

12/13 22:27, , 2F
你可以要找一下還有在維護的... XD 或是自己修好他
12/13 22:27, 2F

12/13 22:28, , 3F
^^ 能 另外建議不要留一堆引文在文章最後面
12/13 22:28, 3F

12/14 00:40, , 4F
OK...我會注意的 :p
12/14 00:40, 4F
文章代碼(AID): #19Gy4uQH (Ruby)
討論串 (同標題文章)
文章代碼(AID): #19Gy4uQH (Ruby)