我打算在网上为着名动物创建一个网站,主页#index将显示所有动物,并在主页上会有一些过滤器,通过Dogs,Cats,Others进行过滤。
现在,作为Rails的新手,我很难弄清楚如何设置这样的模型。
如果我创建动物模型,
rails g model动物名称:字符串描述:字符串
我在哪里准确定义“狗”或“猫”。这个特别的项目?
我是否需要添加category_id?
rails g model动物名称:字符串描述:string category_id:integer
如果我希望用户也添加/删除/编辑类别,该怎么办?
我希望有人能指出我正确的方向。
答案 0 :(得分:1)
我建议创建一个分类模型和一个动物模型:
class Category < ActiveRecord::Base
acts_as_tree
has_many :animals
end
class Animal < ActiveRecord::Base
belongs_to :Category
end
通过这种方式,你的动物可能是一条鲨鱼,也是一条鱼。或者可能是鳕鱼,也是鱼。如果用户选择查看所有鱼类,他们会看到鲨鱼和鳕鱼,但如果他们选择查看鳕鱼,他们就不会看到鲨鱼。调查&#39; acts_as_tree&#39;有关这方面的更多信息。
应该允许过滤很多选项!您需要在类别迁移中使用parent_id列,并在动物迁移中使用category_id列。