Rails3 tree 输出

相关工具用的是 jstree 和 ancestry 就是个helper 遍历tree输出的方法
关键在于raw方法 rails3里content_tag貌似内置了自动转义 需要加上这个方法才可以正确输出html

  def tree_traversal(nodes, node_layer_array = [])
    return "" if nodes.blank? 
    items = ""
    
    nodes.each do |node|
      item = link_to(node.name, edit_organization_path(node))
      items << content_tag(:li,raw(item + tree_traversal(node.children, node_layer_array)))
    end
    
    return content_tag(:ul, raw(items))
  end

你可能感兴趣的:(html,Ruby)