用于在rails中查询关联模型的正确语法

时间:2015-09-29 02:17:18

标签: mysql ruby-on-rails join model scope

我有两个模型:LittleClassLittleClassSessionLittleClassSession belongs_to LittleClass就像这样:

class LittleClassSession < ActiveRecord::Base
  belongs_to :little_class
...

我试图在LittleClassSession模型中创建一个只选择行where的命名范围,LittleClass的某些列是某个值。像这样:

  scope :class_type_only, -> (class_type_id) {
    joins(:little_class)
    .where('little_class_type_id = ?', class_type_id)
  }

在上面的示例中,little_class_type_idLittleClass上的列。没有抛出错误,但结果不正确。我是否正确完成了加入?我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

scope :class_type_only, -> (class_type_id) {
  joins(:little_class)
  .where(:little_class => {:little_class_type_id => class_type_id})
}