【问题标题】:Rails 3 meta_search sort_link and paginationRails 3 meta_search sort_link 和分页
【发布时间】:2012-03-26 03:38:54
【问题描述】:

想知道是否有人知道如何让 meta_search 的 sort_link 与 will_paginate 一起使用?

will_paginate 链接保留 meta_search 的搜索/排序参数,但 sort_link 没有:(

【问题讨论】:

    标签: ruby-on-rails will-paginate meta-search


    【解决方案1】:

    我就是这样做的。我有一个具有名称和截止日期属性的任务模型。

    index.html.haml

    = search_form_for @q do |f|
      = f.text_field :name_cont
      = f.submit t(:search)
    %table.table
      %thead
        %tr
          %th= sort_link @q, :name, t(:task), {page: params[:page]}
          %th= sort_link @q, :deadline, t(:deadline), {page: params[:page]}
          %th= sort_link @q, :created_at, t(:created_at), {page: params[:page]}
          %th= t(:action)
      %tbody
        - @tasks.each do |task|
            %td= task.name
            %td= task.deadline
            %td= task.created_at
            %td
              = link_to t(:edit), edit_task_path(task)
              = link_to t(:delete), task, :confirm => t(:delete_question), :method => :delete
    = will_paginate @tasks
    

    如您所见,我在单击“sort_link”时发送页面参数。

    *tasks_controller.rb*

      def index
        @q = Task.search(params[:q])
        @tasks = @q.result.paginate(:page => params[:page], :per_page => 10)
      end
    

    希望对你有帮助。

    PS:我使用的是Ransack,而不是 MetaSearch。

    【讨论】:

      【解决方案2】:

      这个pull request 可能是您正在寻找的,不幸的是它还没有被合并。

      如果您愿意使用单独的 gem 对链接进行排序,sorted gem 的构建正是为了提供您正在寻找的功能——在跨分页保存状态的同时对列进行排序。

      https://github.com/mynameisrufus/sorted

      【讨论】:

        猜你喜欢
        • 2011-05-17
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        • 1970-01-01
        • 2012-05-19
        • 2012-01-01
        相关资源
        最近更新 更多