Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在类别和多个子类别之间进行选择_Ruby On Rails_Categories_Acts As Taggable - Fatal编程技术网

Ruby on rails 在类别和多个子类别之间进行选择

Ruby on rails 在类别和多个子类别之间进行选择,ruby-on-rails,categories,acts-as-taggable,Ruby On Rails,Categories,Acts As Taggable,我有一些问题,我会尽力解释 我想构建分类,它提供了这样的功能。 我有一些大的分类,比如废物回收设备,在这下面是子分类,比如斩波器,然后我又有子分类 我想建立一个分类系统,允许我在创建新产品时选择这样的分类路线 我想知道为我的应用程序提供此类功能的最佳方式是什么 有什么建议吗 作为标签提供这些功能 谢谢 我使用gem也有类似的用途。这至少可以在模型层为您所讨论的树结构提供支持 我已经做了一个关于它的教程 要使用祖先,我建议使用rails控制台,例如: # category.rb class Ca

我有一些问题,我会尽力解释

我想构建分类,它提供了这样的功能。 我有一些大的分类,比如废物回收设备,在这下面是子分类,比如斩波器,然后我又有子分类

我想建立一个分类系统,允许我在创建新产品时选择这样的分类路线

我想知道为我的应用程序提供此类功能的最佳方式是什么

有什么建议吗

作为标签提供这些功能

谢谢

我使用gem也有类似的用途。这至少可以在模型层为您所讨论的树结构提供支持

我已经做了一个关于它的教程

要使用祖先,我建议使用
rails控制台
,例如:

# category.rb

class Category < ActiveRecord::Base
  attr_accessor :name, :parent
  has_ancestry
end

# rails console

~/Rails/CTK/jwbc[master] $ rails console
Loading development environment (Rails 3.2.11)
1.9.3p286 > main = Category.create(name: "Main category")
# => created
1.9.3p286 > sub1 = Category.create(name: "First subcategory", parent: main)
# => created
1.9.3p286 > sub2 = Category.create(name: "Sub-subcategory"), parent: sub1)
# => created
1.9.3p286 > main.children
# => Would return sub1
1.9.3p286 > main.descendants
# => Returns sub1 and sub2
1.9.3p286 > Category.at_depth(1)
# => Returns all subcategories, in this case sub1
#category.rb
类类别main=Category.create(名称:“主类别”)
#=>创建
1.9.3p286>sub1=Category.create(名称:“第一个子类别”,父项:main)
#=>创建
1.9.3p286>sub2=Category.create(名称:“Sub-subcategory”),父级:sub1)
#=>创建
1.9.3p286>main.children
#=>将返回sub1
1.9.3p286>main.com
#=>返回sub1和sub2
1.9.3p286>深度处的类别(1)
#=>返回所有子类别,在本例中为sub1

或者你可以告诉我看的方式,也许有不同的方式来做这样的事情?你能提供一些演示示例吗?我可以在哪里尝试这种结构?所以我需要将祖先添加到类别模型中?啊,我错误地将其添加到产品模型中:):(那么,如果我使用您向我展示的类别,检索sub1或sub2类别下的产品的方法是什么??
Product.where(category\u id:my\u category.subtree\id)
例如,它将查找属于所选类别或其子类别的所有产品。