【问题标题】:Rails ancestry treemenu helpRails 祖先树菜单帮助
【发布时间】:2011-05-24 04:13:52
【问题描述】:

我正在尝试制作一个带有祖先的简单树列表菜单。

这是我的代码,但它不起作用:

<ul>
<% for cat_opg in CatOpg.roots %>
 <li> <%= cat_opg.navn %><li>
 <% for cat_opg in CatOpg.children %>
<li> <%= cat_opg.navn %><li>
</ul>
<% end %>
</ul>
<% end %>

还有我的控制器: 定义列表 @cat_opg = CatOpg.find(:all) 结束

我想把这个简单的树形菜单设为:

-儿童

-儿童

我不知道我做错了什么。 PS:我是 Rails 初学者

【问题讨论】:

  • 我给了一个类似问题的解决方案here
  • This one 为我工作

标签: ruby-on-rails


【解决方案1】:

首先,您要在视图中建模,而不是局部变量。
其次,您正在重写变量。

应该是这样的:

<ul>
<% cat_opg.roots.each do |cat_opg_root| %>
 <li> <%= cat_opg_root.navn %><li>
 <% cat_opg_root.children each do |cat_opg_child| %>
  <li> <%= cat_opg_child.navn %><li>
  </ul>
 <% end %>
 </ul>
<% end %>

【讨论】:

    【解决方案2】:

    Alex 感谢您的回答。

    现在可以了

    控制器:@cat_opg = CatOpg

    还有观点:

    <ul>
      <% @cat_opg.roots.each do |cat_opg_root| %>
        <li> <%= cat_opg_root.navn %></li>
          <% unless cat_opg_root.children.empty? %>
           <ul>
             <% cat_opg_root.children.each do |cat_opg_child| %>
               <li> <%= cat_opg_child.navn %></li>
             <% end %>
           </ul>
         <% end %>
      <% end %>
    </ul>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多