Rails habtm se junta

Eu tenho essa relação entrecategorias, produtos e marcas:

class Brand < ActiveRecord::Base
  has_many :products
end

class Category < ActiveRecord::Base
  has_and_belongs_to_many :products
end

class Product < ActiveRecord::Base
  has_and_belongs_to_many :categories
  belongs_to :brand
end

Como posso selecionar todas as categorias por marca especificada com esta relação? Eu tento isso, mas recebo um erro

b = Brand.find(1)
Category.joins(:products).where(:products => b.products)

questionAnswers(2)

yourAnswerToTheQuestion