我正在查询Shopify开发商店数据库,并且它返回的项目很好,但'order'参数似乎不起作用('limit'参数确实如此)...
home_controller.rb
if params[:search]
# get 10 products via search parameter and order by title ascending
@info['products'] = ShopifyAPI::Product.where(title: params[:search], :params => {:limit => 10, :order => "title ASC"})
else
# get 10 products and order by created_at descending
@info['products'] = ShopifyAPI::Product.find(:all, :params => {:limit => 10, :order => "created_at DESC"})
end
我尝试过'ASC'和'DESC'。你知道我哪里错了吗?
答案 0 :(得分:3)
您尝试在ActiveRecord
模型上使用ActiveResource
查询语法(shopify_api
gem使用ActiveResource
)。 ActiveResource
拥有自己的查询语法,但它与ActiveRecord
查询语法类似。
ActiveResource
没有order
方法。 ActiveResource::Base文档包含可用方法列表,并提供了一些工作示例。
有时,您正在使用的API提供了一种对结果进行排序的方法。但Shopify API不提供这些方法。
因此,您应该在本地对结果进行排序,例如使用sort_by
(see ruby-doc)。