代码之家  ›  专栏  ›  技术社区  ›  shmichael

窗体以对Rails中的索引进行排序

  •  1
  • shmichael  · 技术社区  · 14 年前

    我是新加入Rails的。我想构建一个简单的表单,确定列表的排序顺序。 我已经实现了一个类似-

    <%= radio_button_tag :sort, "rating" %>
      <%= label_tag :sort_rating, "order by rating" %>
    <%= radio_button_tag :sort, "name" %>
      <%= label_tag :sort_name, "order by name" %>
    

    现在我不确定如何在控制器/模型级别实现排序。我困惑的是:

    • 在哪里进行分类
    • 如何持久化排序参数
    • 如何重用代码

    现在,我甚至无法让所选排序方法在提交后保持选中状态。

    我非常感谢对一个例子的任何指导或参考。

    1 回复  |  直到 14 年前
        1
  •  1
  •   klew    14 年前

    在哪里进行分类

    在控制器中:

    order_by = "rating ASC" if params[:sort] == 'rating'
    ...
    @people = Person.all(:order => order_by)
    

    或者类似的。我不确定带有单选按钮的表单是如何通过的。

    如何持久化排序参数

    观点:

    <%= radio_button_tag :sort, "rating", params[:sort] == 'rating' ? true : false %>
    ...