我敢肯定这已经在很多地方被问过(并得到了回答),而且我可能不知道如何正确提问。这是我的问题,我正在尝试设置一个简单的 Product 到 ProductType 关联。我是 RoR 的新手,由于 Rails 中有这么多内置助手,我正在寻找该解决方案,而不是通常手动构建所有内容。
这就是我所拥有的模型(我也很困惑如何/何时在 Rails 中使用单数/复数描述符)。
产品.rb
class Product< ActiveRecord::Base
attr_accessible :name
has_one :product_tpe
end
pruduct_type.rb
class ProductType< ActiveRecord::Base
attr_accessible :name
belongs_to :product
end
这显然是错误的(我认为我不太了解 belongs_to: 方法)。在通常的 SQL 关系中,产品表将通过与 product_types 表的多对一关系链接。
我收到错误:
SQLite3::SQLException: no such column: product_types.product_id: SELECT "product_types".* FROM "product_types" WHERE "product_types"."product_id" = 1 LIMIT 1
由于我显然不想在我的 product_types 表中使用 product_id,因此该错误是有道理的;但这不是我故意做的。
不是抱怨,但我至少已经阅读了设置 microposts 示例应用程序的 RoR 指南。还有其他关于使用 RoR 协会的优秀教程吗?