我是Rails的新手。
我有两个模型类别和产品如下:-
class Category < ActiveRecord::Base
attr_accessible :type
has_many :products
end
class Product < ActiveRecord::Base
attr_accessible :category_id, :color, :price, :title
belongs_to :category
end
我的schema.rb如下:-
ActiveRecord::Schema.define(:version => 20130725220046) do
create_table "categories", :force => true do |t|
t.string "type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "products", :force => true do |t|
t.integer "category_id"
t.decimal "price", :precision => 10, :scale => 0
t.string "title"
t.string "color"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
end
在 Rails 控制台中,我使用Product.create命令 创建了两个产品和两个产品
[#<Product id: 1, category_id: 1, price: 500, title: "shirt", color: "blue", `created_at: "2013-07-25 22:04:54", updated_at: "2013-07-25 22:04:54">, #<Product id: 2, category_id: 1, price: 600, title: "tees", color: "black", created_at: "2013-07-25 22:05:17", updated_at: "2013-07-25 22:05:17">]`
并在控制台中使用Category.create命令 创建了两个类别
<Category id: 1, type: "clothing", created_at: "2013-07-25 22:03:54", updated_at: "2013-07-25 22:03:54"><Category id: 2, type: "footwear", created_at: "2013-07-25 22:04:02", updated_at: "2013-07-25 22:04:02">
现在,Product.all工作正常,但Category.all给出
ActiveRecord::SubclassNotFound: 单表继承机制找不到子类:'clothing'。引发此错误是因为“类型”列保留用于在继承的情况下存储类。如果您不打算将其用于存储继承类或覆盖 Category.inheritance_column 以使用另一列存储该信息,请重命名此列。
里面有什么问题?我想在类别和产品之间建立关系,就像
一个类别有_许多产品和产品属于_一个类别。