`

如何重写will_paginate方法

 
阅读更多
WillPaginate::ViewHelpers.pagination_options.merge!(
     :previous_label => '« 上一页',

     :next_label => '下一页 »'
   )
   module WillPaginate

     module ViewHelpers

       alias_method :orig_will_paginate,:will_paginate

       def will_paginate(*args)

         pagination = orig_will_paginate(*args).to_s  return "" if pagination.blank?

        total_page = WillPaginate::ViewHelpers.total_pages_for_collection(*args);

        total = hidden_field_tag "total",total_page

        text = text_field_tag "text",nil,:size =>3,:maxlength=>5,

        :onkeydown => "
             if(event.keyCode ==13){

                var  bl = !isNaN(Number($(this).val())) && ($(this).val()  != 0);

                var p = bl ? ($(this).val() > $('#total').val() ? $('#total').val() : $(this).val()) : 1;

                var h = document.location.href;

                var url = h.indexOf('?')>0 ? h.substring(0,h.indexOf('?')) : h;

                var href = url + '?page=' + p;

                window.location.href = href;
              }"
        return "#{bb}#{pagination}跳转到#{aa}页"
      end
    end
  end


:onkeydown => "
        if(event.keyCode ==13){
            if($(this).val()==''){
               alert('请输入需要跳转的页码!');
            }else{
               //判断输入的值是否为正整数
               var bl = !isNaN(Number($(this).val())) && ($(this).val() > 0);
               //输入的值小于1则取1,大于total则取total
               var p= bl ? (Number($(this).val())>Number($('#total').val()) ? 
                   $('#total').val():$(this).val()): 1;
  
               var h= document.location.href;
               var url = h.indexOf('?')>0 ? (h.indexOf('page=')>0 ? h.replace
               (/page=.*&|page=.*/,'page='+p+'&'):h+'&page='+p) : (h+'?&page='+p);
               window.location.href=url;}}" 
分享到:
评论

相关推荐

    will_paginate 2.2.2

    在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一、`will_paginate`简介 `will_paginate`是由Mislav Marohnić开发的,它为Ruby on ...

    will_paginate分页插件

    本文将深入探讨`will_paginate`的使用方法、核心概念以及其实现原理。 ### 一、安装与配置 在Rails项目中,我们可以通过以下命令安装`will_paginate`: ```bash gem install will_paginate ``` 然后,在`Gemfile...

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成.zip

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成 will_paginate-bootstrap不再维护我不再使用 Bootstrap 来使用 Rails,所以不幸的是,我不再接受请求请求或者维护这个库。 为了发布你...

    will_paginate插件下载

    在本文中,我们将深入探讨will_paginate的安装、使用方法以及其核心概念,帮助开发者更好地理解和应用这个插件。 一、will_paginate的安装 在传统的安装方式中,开发者通常会通过RubyGems和Bundler来安装will_...

    scaffolding+will_paginate+提供will_paginate下载

    5. **视图中显示分页链接**:在视图中,使用`will_paginate`提供的`will_paginate`和`page_links`辅助方法生成分页链接。例如: ```erb <%= will_paginate @posts %> <%= page_links @posts %> ``` 这将生成上...

    will_paginate 2.1.0

    3. **与ActiveRecord集成**:`will_paginate` 无缝集成于 ActiveRecord,这意味着你可以直接在查询链上使用 `paginate` 方法,如 `Post.where(status: 'published').paginate(page: params[:page])`。 4. **兼容性*...

    will_paginate v2.3.11

    3. **模板辅助**:在视图层,will_paginate提供了方便的辅助方法,如`will_paginate`和`page_links`,可以生成优雅的分页链接。 4. **高度可配置**:你可以自定义页码范围、URL参数、分页链接样式等,满足各种需求...

    will_paginate_endless_scroll_example:如何使用 will_paginate gem 创建无限滚动的演示

    cd will_paginate_endless_scroll_example 安装依赖: bundle install 迁移和种子数据库: bundle exec rake db:migrate db:seed 就是这样,它准备好了。 跑步: 像普通的 rails 应用程序一样运行: rails s ...

    will_paginate-bootstrap4:钩入will_paginate以格式化html以匹配Twitter Bootstrap 4样式

    gem 'will_paginate-bootstrap4' 用法 <%= will_paginate @clients, renderer: WillPaginate::ActionView::BootstrapLinkRenderer %> 以下选项可用(除了will_paginate中可用的选项之外): :list_classes ...

    will_paginate:用于Rails,Sinatra,Merb,DataMapper等的分页库

    will_paginate will_paginate是一个分页库,与Ruby on Rails,Sinatra,Hanami :: View,Merb,DataMapper和Sequel集成。 安装: ## Gemfile for Rails 3+, Sinatra, and Merbgem 'will_paginate' , '~> 3.1.0' 有关...

    WillPaginateExample:Ruby on Rails的Will_Paginate示例

    在本篇文章中,我们将深入探讨`Will_Paginate`的原理、安装、使用方法以及一些高级特性。 ### 1. 安装 要在Rails项目中使用`Will_Paginate`,首先需要通过`Gemfile`添加依赖: ```ruby gem 'will_paginate', '~> ...

    ruby will_paginate的用法

    新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。 ============================== C:\>rails foobar -d mysql C:\>cd foobar C:\...

    rails 2.0.2 分页 需另外下载插件

    - **多模型分页**:will_paginate可以应用于多个不同的模型,只需在每个模型上分别调用`paginate`方法。 - **自定义查询**:可以在`paginate`方法内部嵌入更复杂的查询条件。 总之,`will_paginate`为Rails 2.0.2...

    ruby on rails 常用插件下载

    使用 `will_paginate`,首先要在你的模型或查询中调用 `paginate` 方法,例如: ```ruby @posts = Post.order("created_at DESC").paginate(page: params[:page], per_page: 25) ``` 这段代码会返回当前页面的前25条...

    Ruby-willpaginate一个分页库可与RubyonRailsSinatraMerbDataMapper和Sequel集成

    Ruby-on-Rails、Sinatra、Merb、DataMapper 和 Sequel 这些都是 Ruby 开发领域中的关键组件,而 `will_paginate` 是一个在这些框架中广泛使用的分页库。它提供了简单、灵活的接口,帮助开发者在处理大量数据时进行...

    Python库 | mkdocs_paginate_plugin-0.0.3-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:mkdocs_paginate_plugin-0.0.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    resume 用Ruby技术实现的search 分页的例子

    视图中,使用`will_paginate`的辅助方法展示分页链接: ```erb <%= will_paginate @users, renderer: BootstrapPagination::Rails %> ``` 这将在页面底部生成Bootstrap风格的分页导航。 在实际项目中,可能还需要...

Global site tag (gtag.js) - Google Analytics