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

看板Ruby作者 (godfat 真常)時間16年前 (2008/12/13 17:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《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 上,現階段還在測試, 有不少功能還沒加上去。 -- #!/usr/bin/env ruby [露比] /Programming (Kn|N)ight/ 看板《Ruby》 # if a dog nailed extra legs that http://www.ptt.cc/bbs/Ruby/index.html # walks like an octopus, and Welcome ~Ruby@ptt~ # talks like an octopus, then ◢█◣ http://www.ruby-lang.org/ # we are happy to treat it as http://www.ruby-doc.org/ # if it were an octopus. http://www.rubyforge.org/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18
文章代碼(AID): #19GtoYEn (Ruby)
文章代碼(AID): #19GtoYEn (Ruby)