我是 rails 新手。在我的 rails 应用程序中,我想根据下拉列表对内容进行排序。
在我的下拉列表中,我有几个选项,例如“名称”、“价格”。现在,如果我按列表中的名称,我希望按内容名称对内容进行排序。见图:
我不知道如何在 rails 中做到这一点。
请帮帮我。
我是 rails 新手。在我的 rails 应用程序中,我想根据下拉列表对内容进行排序。
在我的下拉列表中,我有几个选项,例如“名称”、“价格”。现在,如果我按列表中的名称,我希望按内容名称对内容进行排序。见图:
我不知道如何在 rails 中做到这一点。
请帮帮我。
除非您分享您的控制器代码,否则我们无法向您建议任何具体内容。在大多数情况下,您只需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;\""
更好的可能是仅使用您定义的列名。