我有 3 个表(产品、订单、products_orders)我有 3 个模型文件(product.rb、order.rb、product_order.rb)
因此 3 类
class Product < ActiveRecord::Base
attr_accessible ...
has_many :product_orders
has_many :orders, :through => :product_orders
end
class Order < ActiveRecord::Base
attr_accessible ...
has_many :product_orders
has_many :products, :through => :product_orders
end
class ProductOrder < ActiveRecord::Base
attr_accessible :order_id, :product_id, ...
belongs_to :product
belongs_to :order
end
第一个问题.. 我可以在 products_orders 表中有主键(id)没有问题吗?我在这里阅读了http://guides.rubyonrails.org/association_basics.html关于一些可能的问题,但我不确定。
第二个问题..如果我尝试生成 ER 图(rake erd),它会告诉我:
警告:忽略无效模型 ProductOrder(表 product_orders 不存在)
# 缺失的 's' 是我不知道如何解决的问题(我只想拥有那个下划线模型,因为模型名称与我认为的表名称不同会令人困惑)
警告:忽略无效关联 :product_orders on Order(模型 ProductOrder 存在,但不包含在域中)
警告:忽略无效关联:Product 上的 product_orders(模型 ProductOrder 存在,但不包含在域中)
请帮忙,这是我的第一个测试 Rails 应用程序