Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 3 Rails上的高效面包屑多模型树?_Ruby On Rails 3_Breadcrumbs - Fatal编程技术网

Ruby on rails 3 Rails上的高效面包屑多模型树?

Ruby on rails 3 Rails上的高效面包屑多模型树?,ruby-on-rails-3,breadcrumbs,Ruby On Rails 3,Breadcrumbs,我是rails新手,不清楚如何在多模型树层次结构上高效地显示面包屑。我的应用程序树有7个模型/级别,但我将用3个来说明 class One has_many :twos class Two belongs_to :one has_many :threes class Three belongs_to :two 例如,假设我想要show three视图上的面包屑(链接到two and one的父实例)。我目前正在控制器中使用AR关联: add breadcrumb @three.tw

我是rails新手,不清楚如何在多模型树层次结构上高效地显示面包屑。我的应用程序树有7个模型/级别,但我将用3个来说明

class One
 has_many :twos

class Two
 belongs_to :one
 has_many :threes

class Three
 belongs_to :two
例如,假设我想要show three视图上的面包屑(链接到two and one的父实例)。我目前正在控制器中使用AR关联:

add breadcrumb @three.two
add breadcrumb @three.two.one
除了运行两个额外的SQL查询(检索两个和一个祖先)之外,这一切都很好

我怎样才能更有效地吃面包屑


[不幸的是,祖先宝石似乎只适用于一种模式,但将面包屑序列化为一个专栏的想法值得追求吗?这是一个如此基本的要求,我怀疑我出于无知而过于复杂化了。]

此宝石可能对您有所帮助:@craig.kaminsky-谢谢,我看过各种面包屑宝石。我看不出这个gem解决了我的问题-在我的示例中,它仍然需要额外的SQL调用。很抱歉,当我查看gem时,我认为您可以在控制器的顶部添加面包屑细节,并且这些细节将在过程中被拾取/构建。再次为错误的回答道歉。