1:表 products 有属性:product_detail_id 和 product_type_id 也就是说每个产品都有一个 产品详情 和一个 产品种类
(所以还有表格 ProductDetails 和 ProductTypes) 2:看模型的定义:
下面代码是说 一个 product 实例有一个 (成员变量 C++ 的说法)product_type 类型是 ProductType 通过 :product_type_id 这个值在 ProductTypes 这个表中唯一确定取回该值赋给 product_type (如果理解错了 还望诸位指正)
class Product < ActiveRecord::Base
validates :product_type_id, presence: true
validates :product_detail_id, presence: true
has_one :product_type, foreign_key: :product_type_id, class_name: "ProductType"
has_one :product_detail, foreign_key: :product_detail_id, class_name: "ProductDetail"
end
我在 ProductType 的模型里面直接这么写不知道可不可以?(可以的话能告诉我为什么嘛?我这里就在 activeadmin 这个 gem 里注册的时候出错了。(是不是要在 ProductTypes 的数据库中加入 product_id 这个列才行?为什么?)
class ProductType < ActiveRecord::Base
belongs_to :product
end