http://selfcontroller.iteye.com/blog/941340
rails的分页插件will_paginate
在最近的项目中,用到了rails的分页插件will_paginate 因为是第一次使用这个插件,所以不甚了解,就在网上google
了一阵子,看了看相关的说明,明白了大概,在此记录下来,以备忘记。
下面我就来讲解一下关于这个插件的一些注意事项,因为我是rails的初学者,所以这里用的是rails3,关于以前版本的rails,我了解的不多,在rails3中,用will_paginage有两种方式,第一种就是用plugin形式,安装方法:
这里有个viki关于安装的说明,https://github.com/mislav/will_paginate/wiki/installation,这里我只是想说一下关于这个插件的配置参数。首先,如果你是用插件安装的,那么找到vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb,这个helper就是这个插件的关于现实的helper,
@@pagination_options = { : class => ' pagination ' ,
: prev_label => ' 上一页 ' , #这个一般是用在我们中文网站上的时候需要进行改动,默认是 << Previous
: next_label => ' 下一页 ' , #这个一般是用在我们中文网站上的时候需要进行改动,默认是 Next >>
: inner_window => 4 , # inner_window 控制显示当前页临近的多少个链接 ,默认是4
: outer_window => 1 , # outer_window 控制显示首/末页临近的多少个链接,默认是1
:page_links => false, # 如果是false的时候,只显示上一页和下一页 (默认是 true)
: separator => ' ' , # 这个参数是用来设置页码之间 的分隔符的,用空格或者(|)或者其他的都可以
: param_name => : page , #这个参数是用来我们点击页码连接的时候传递的参数的名称,一般不用改动
:class => 'pagination' , #这个是用来给分页的元素家heml的类名的,可以通过这个类名进行样式布局。
}
以上说的是你以插件的形式安装的,如果你用的而是rubygems形式安装的,那么这个配置你就需要到配置文件里面去改了,如果你的项目时2.x的,那么你的配置文件的改动应该是在config/environment.rb里面,加上类似于这样的几句,来进行相关的默认修改:
- WillPaginate::ViewHelpers.pagination_options[ :class ] = "yourclass"
- WillPaginate::ViewHelpers.pagination_options[:previous_label ] = "前一页"
- WillPaginate::ViewHelpers.pagination_options[:next_label ] = "后一页"
如果你的项目时3.0以上的版本的话,那么你的这个配置修改就要到 config/initalizer下新建一个文件(例如:will_paginate.rb),在这个文件里面加上类似于上面的三句的配置,来进行修改。