首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meta_search按计数排序

meta_search按计数排序
EN

Stack Overflow用户
提问于 2011-10-10 16:26:08
回答 1查看 303关注 0票数 0

我有这些模型,我正在和meta_search合作订购它。

代码语言:javascript
复制
class Company < ActiveRecord::Base
  has_many :delivers
  has_many :estimates, :through => :deliver
end

class Estimate < ActiveRecord::Base
  has_many :delivers, :dependent => :destroy
  has_many :companies, :through => :delivers
end

class Deliver < ActiveRecord::Base
  belongs_to :estimate
  belongs_to :company
end

正如您所看到的,一家公司有许多预估,我需要一个过滤器来按以下顺序显示公司:从预估数量最高的公司到预估数量最低的公司。

我希望它有一个排序链接,类似于:

代码语言:javascript
复制
= sort_link @search, :estimates_asc

我知道我可以用这种方式订购公司的这份声明

代码语言:javascript
复制
Company.joins(:estimates).sort_by{|x| -x.estimates.size}

谢谢你帮我。

EN

回答 1

Stack Overflow用户

发布于 2011-10-15 09:05:01

这是我的案例,在你的项目中尝试一下,我会尽我所能帮助你:

所以我有一个cars表,里面有carname_id和carmodel_id。然后再为carnames和carmodels添加两个表,其中包含name和id。现在假设我有id为2的carname Mercedes和id为5的carmodel S classe,在本例中,cartable将包含值2和5 Mercedes S classe。

要按字段对它们进行排序,我这样做:

汽车控制器:

代码语言:javascript
复制
  @search = Car.search(params[:search])
    @search.meta_sort ||= 'created_at.desc'  <-- this line is for default order display, you can use any other field
    @cars = @search.all.paginate :page => params[:page], :per_page => 5

视图中的

代码语言:javascript
复制
<%= sort_link @search, :carname_name,  "Car make" %>  <-- carname is the field from 

    car table where the carname id is stored and name is the he name itself for this id that's in carname table

<%= sort_link @search, :carmodel_name, "Car model"%>

现在一切都好了。

在你的情况下,我只是假设它会是这样的

<%= sort_link @search,:company_estimate,“汽车制造”%>

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7710171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档