日志:get_tree 方法加强快照,十分注意",:method=>:get参数

本文介绍了一种使用Ruby实现的部门树状结构生成方法。通过递归遍历部门信息并利用WebFXTreeItem构建树形菜单,实现了动态展示组织结构的功能。文章详细解释了如何根据部门的层级关系创建相应的WebFXTreeItem实例,并将其添加到父节点中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

module DepartmentsHelper
  def get_tree(trees, parent)
    tree_html = "";
    trees.each do |tree|
      if tree.is_root?
        tree_html += "var tree_#{tree.id} = new WebFXTreeItem('#{tree.name}',\"javascript:link_to_remote_#{tree.id}()\");\r\n"
        tree_html +="function link_to_remote_#{tree.id}(){#{remote_function :url=>edit_department_path(tree),:update=>"edit_form",:method=>:get}}\r\n";
        tree_html += "rootTree.add(tree_#{tree.id});\r\n"
      end

      if !tree.is_leaf?
        if !tree.is_root?
          tree_html += "var tree_#{tree.id} = new WebFXTreeItem('#{tree.name}','#{edit_department_path(tree)}');\r\n"
          tree_html += "tree_#{parent.id}.add(tree_#{tree.id});\r\n"
        end
        tree_html += get_tree(tree.children, tree)
      else
        if !tree.is_root?
          tree_html += "var tree_#{tree.id} = new WebFXTreeItem('#{tree.name}','#{edit_department_path(tree)}');\r\n"
          if !parent.nil?
            tree_html += "tree_#{parent.id}.add(tree_#{tree.id});\r\n"
          end
        end
      end
    end
    return tree_html
  end
end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值