使用rails生成ajax动态装载树型组件

 当你需要采用动态树型视图的时候,你会自然的使用xloadtree(主页:http://webfx.eae.net/dhtml/xloadtree/xloadtree.html),那么在rails中如何
使用xloadtree呢,我这里有一些经过测试的步骤,提供给大家参考:

1.下载xtree2
下载地址:http://webfx.eae.net/dhtml/xtree2b/
下载文件:js/xtree2.js,js/xloadtree2.js,css/xtree2.css,以及images/*.*
然后,把xtree2.js,xloadtree2.js放置在你的项目的public/javascripts目录中,把xtree2.css放在public/stylesheets目录中,把所有的图片文件放置在你的项目的public/images目录中


2.修改本地的xtree2
a.把本地的xtree2.js,xloadtree2.js,xtree2.css文件中的"images/"字串,全部替换成"/images/"字串

b.把xtree2.js中的配置usePersistence: true改成usePersistence: false

3.编写rxml
为了让rails产生xml文档,你需要编写rxml视图,我这里有个简单的例子可供你参考,当然你可以写的更动态一点,但那是以后的事,先跑起来再说
[tree.rmxl]

#记得写这一行
xml.instruct!
xml.tree do
  xml.tree(:text=>"我爱中国") do
    xml.tree(:text=>"2")
    xml.tree(:text=>"3")
  end
  xml.tree(:text=>"中国爱我")
  xml.tree(:text=>"5")
  xml.tree(:text=>"6")
end

 


4.修改输出xml的Controller里的action
我这里Controller叫做IndustryAdminController,action方法叫tree,自然,我的rxml也叫tree.rxml

def tree
    @headers['Content-Type'] = 'text/xml; character=utf-8'
    #@top_industries=Industry.find(:all,:conditions=>"parent_id is null",:order=>"hot_value")
    xml=render_to_string(:layout=>false)
    #puts xml;
    send_data(xml,:type=>"text/xml")
 end

 


  注意:这里只能使用render_to_string和send_data,而不能只是简单的render(:layout=>false),因为xloadtree需要的是个xml文件,而不是
一个渲染后的效果。

5.测试一下

写到这里的时候,也许你需要测试一下rails生成的xml是否正确,打开FF/IE,输入网址http://localhost: 3000/industry_admin/tree.xml(你自己的需要酌情修改),如果browser出现下载xml文件的对话框,恭喜你, rails已经正确的输出了xml文件。

6.最后一步,生成dynamic load tree
a.在你需要输出树型菜单的rhtml文件头中加上以下2行(次序不能颠倒)

<%= javascript_include_tag "xtree2"%>
<%= javascript_include_tag "xloadtree2"%>

 


b.在你需要输出tree的地方加上如下代码(我这里是在td中输出)

<td>
                <script type="text/javascript">
                    var tree = new WebFXLoadTree("Cool Tree", "/industry_admin/tree");//你自己的url请酌情修改
                    tree.write();
                </script>
</td>

 


接下来,我想你可以把你的项目经理叫过来,给他秀一下使用ajax技术生成的动态树型组件了,也许他会夸张地说"amazing,so cool!"

7.接下来...
接下来就需要你修改controller,rxml,把数据改成动态的啦

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。、资源 5来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。、资 5源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值