需要有关在Ruby on Rails中创建模型的建议

时间:2015-11-10 11:19:48

标签: ruby-on-rails

我打算在网上为着名动物创建一个网站,主页#index将显示所有动物,并在主页上会有一些过滤器,通过Dogs,Cats,Others进行过滤。

现在,作为Rails的新手,我很难弄清楚如何设置这样的模型。

如果我创建动物模型,

rails g model动物名称:字符串描述:字符串

我在哪里准确定义“狗”或“猫”。这个特别的项目?

我是否需要添加category_id?

rails g model动物名称:字符串描述:string category_id:integer

如果我希望用户也添加/删除/编辑类别,该怎么办?

我希望有人能指出我正确的方向。

1 个答案:

答案 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列。