作者cuteman0725 (Q面)
看板Ruby
标题Re: [RoR ] 新手问题 -- Paginate 无法使用?
时间Sat Dec 13 22:05:43 2008
首先先感谢版大的回覆 <(_ _)>
後来试了您的方法,学到了不少东西﹙顺便把 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
1F:推 godfat:原来是用 scaffold plugin... 那还能跑吗? @_@ 应该不行.. 12/13 22:27
2F:→ godfat:你可以要找一下还有在维护的... XD 或是自己修好他 12/13 22:27
3F:→ godfat: ^^ 能 另外建议不要留一堆引文在文章最後面 12/13 22:28
4F:→ cuteman0725:OK...我会注意的 :p 12/14 00:40