【问题标题】:rails model complex association explainedrails 模型复杂关联解释
【发布时间】:2020-02-26 13:35:57
【问题描述】:

我是 Rails 新手。我在 Rails 示例之一中找到了此代码 项目。

has_many :all_ticket_fields, -> { 
where(parent_id: nil)
.includes([:picklist_values, :flexifield_def_entry]) 
.order(:position)
}, class_name: 'DVClass::NormalSection'

你能解释一下吗?

【问题讨论】:

  • 请不要投反对票。我在我应该工作的办公室示例项目中找到了这部分代码。
  • 是哪个型号的?
  • 活动记录模型
  • 模型名称?
  • app/models/account/itil_associations.rb

标签: ruby-on-rails activerecord model associations


【解决方案1】:

这是ItilAssociationDVClass::NormalSection 之间的一对多关联,假设您从ItilAssociation 获取记录

itil = ItilAssociation.first

itil.all_ticket_fields 基本上会运行这个查询,

DVClass::NormalSelection.where(itil_association_id: itil.id)
                        .where(parent_id: nil)
                        .includes([:picklist_values, :flexifield_def_entry]) 
                        .order(:position)

has_many with conditions 只是根据条件返回关联记录的一种方式。

希望有所帮助!

【讨论】:

  • @PushpendraSingh np,刚刚对你的问题表示赞同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多