Rails应用程序试图设置模型的default_scope

时间:2014-04-10 06:41:41

标签: ruby-on-rails model default-scope

在此应用程序中,模型Resource_Estimations由公司完成。我希望对公司名称的Resource_Estimations有一个默认排序顺序。

公司模式

class Company < ActiveRecord::Base
   include ActiveModel::ForbiddenAttributesProtection
   ...
   has_many :resource_estimations, dependent: :destroy
   ...
   validates :exchange_id, :name, :full_name, presence: true

Resource_Estimation模型

class ResourceEstimation < ActiveRecord::Base
   include ActiveModel::ForbiddenAttributesProtection
   ...
   belongs_to :company
   ...
   validates :company_id, :drill_id, :resource_type_id, :date,
      :fill_to_spill,:p10, :p50, :p90, presence: true
   ...
   default_scope  { order(:company => :asc) }

Resource_Estimation模型中的最后一个语句(default_scope)就是我想要改变的。我希望排序顺序是company.name,而不是company_id的当前排序顺序。尝试过很多东西,但到目前为止还没有运气。欢迎任何建议 - 谢谢皮埃尔

1 个答案:

答案 0 :(得分:1)

首先尝试加入公司:

default_scope  { joins(:company).order('companies.name ASC') }