Rails 4:范围内的关联布尔值

Rails 4: association boolean in scope

我有两个模型之间的 has_and_belongs_to_many 关系,我想编写一个范围来检查关系上的布尔值是否为真:

class Component

  has_and_belongs_to_many :templates
  scope :editable, -> { where(template.showable) }

  ....
end

Template 模型上 :showable 是一个布尔值。我怎样才能在 Rails 4 中写这个?

scope :editable, -> { joins(:templates).where( templates: { showable: true } ) }