Rails 4 ShopifyAPI:如何订购/排序查询?

时间:2014-02-21 11:31:09

标签: ruby-on-rails api ruby-on-rails-4 shopify

我正在查询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'。你知道我哪里错了吗?

1 个答案:

答案 0 :(得分:3)

您尝试在ActiveRecord模型上使用ActiveResource查询语法(shopify_api gem使用ActiveResource)。 ActiveResource拥有自己的查询语法,但它与ActiveRecord查询语法类似。

ActiveResource没有order方法。 ActiveResource::Base文档包含可用方法列表,并提供了一些工作示例。

有时,您正在使用的API提供了一种对结果进行排序的方法。但Shopify API不提供这些方法。

因此,您应该在本地对结果进行排序,例如使用sort_bysee ruby-doc)。