Ruby on rails Rails中的嵌套选择

Ruby on rails Rails中的嵌套选择,ruby-on-rails,ruby,forms,select,Ruby On Rails,Ruby,Forms,Select,我正在开发一个Rails应用程序,它对项目使用类别 我的类别模型是自连接的,因此可以嵌套类别: class Category < ActiveRecord::Base has_many :items # Self Join (categories can have subcategories) has_many :subcategories, :class_name => "Category", :foreign_key => "parent_id" be

我正在开发一个Rails应用程序,它对
项目使用
类别

我的
类别
模型是自连接的,因此可以嵌套类别:

class Category < ActiveRecord::Base
  has_many :items

  # Self Join (categories can have subcategories)
  has_many   :subcategories, :class_name => "Category", :foreign_key => "parent_id"
  belongs_to :parent,        :class_name => "Category"
  ...
end
因此,select看起来像这样:

Category1
Category2
Category3BelongsTo2
Category4BelongsTo1
<%= f.select :parent_id, nested_set_options(Category, @category) {|c| "#{'-' * c.level} #{c.title}" } %>
但我想要的是:

Category1
  - Category4BelongsTo1
Category2
  - Category3BelongsTo2
有没有一个帮手(这太棒了!)?如果没有,我如何才能做到这一点


谢谢

也许会对你有所帮助

你可能想看看,或者

太棒了,这是一件轻而易举的事

安装之后,我在categories表中添加了
lft
rgt
,并删除了自连接。然后使用
Category.rebuild。然后,可以像这样轻松填充select:

Category1
Category2
Category3BelongsTo2
Category4BelongsTo1
<%= f.select :parent_id, nested_set_options(Category, @category) {|c| "#{'-' * c.level} #{c.title}" } %>

我仍然希望能够选择父类别。问题是关于“Rails中的嵌套选择”,而不是关于哪个解决方案更好。