Re: [RoR ] 新手問題 -- Paginate 無法使用?
※ 引述《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
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章