1

我是 rails 新手。在我的 rails 应用程序中,我想根据下拉列表对内容进行排序。

在我的下拉列表中,我有几个选项,例如“名称”、“价格”。现在,如果我按列表中的名称,我希望按内容名称对内容进行排序。见图:当我从排序方式下拉列表中选择时,我想根据所选选项对内容进行排序

我不知道如何在 rails 中做到这一点。

请帮帮我。

4

1 回答 1

2

除非您分享您的控制器代码,否则我们无法向您建议任何具体内容。在大多数情况下,您只需order为您的数据库查询指定子句。

例如:

class ProductsController < ApplicationController
  def index
    # assuming You passed order field in GET param: /products?order_by=name
    @products = Product.order(params[:order_by])
  end
end

更新

您应该可以使用此方法进行报价。它在您的连接对象 ( SomeModel.connection)上定义

irb(main):001:0> Movie.connection.quote_column_name("name")
=> "\"name\""
irb(main):004:0> Movie.connection.quote_column_name("name; DELETE FROM users;")
=> "\"name; DELETE FROM users;\""

更好的可能是仅使用您定义的列名。

于 2013-11-10T21:29:45.740 回答