Sql 带外键的活动记录查询

Sql 带外键的活动记录查询,sql,activerecord,foreign-keys,ruby-on-rails-5,Sql,Activerecord,Foreign Keys,Ruby On Rails 5,我有一个分类模型: class Category < ApplicationRecord has_many :products end 以及产品型号: class Product < ApplicationRecord belongs_to :category end 在我的种子中,我只有两个类别(“咖啡”和“设备”),有些产品的种子是“咖啡”。 我正在尝试在我的家庭控制器中进行一个简单的活动记录查询,以仅选择类别名称为咖啡的产品。 我试过: @coffees = P

我有一个分类模型:

class Category < ApplicationRecord
    has_many :products
end
以及产品型号:

class Product < ApplicationRecord
  belongs_to :category
end
在我的种子中,我只有两个类别(“咖啡”和“设备”),有些产品的种子是“咖啡”。 我正在尝试在我的家庭控制器中进行一个简单的活动记录查询,以仅选择类别名称为咖啡的产品。 我试过:

@coffees = Product.joins(:category).where("name = 'coffee'")


但它们都不起作用,我无法在主视图上显示阵列。知道吗?

您使用了错误的表名。没有名为“category”的表

我认为应该是这样的:

@coffees = Product.joins(:category).where("categories.name = 'coffee'")
@coffees = Product.joins(:category).where("name = 'coffee'")
@coffees = Product.joins(:category).where("category.name = 'coffee'")
@coffees = Product.where("product.category.name == 'coffee' ")
@coffees = Product.joins(:category).where("categories.name = 'coffee'")