当你需要采用动态树型视图的时候,你会自然的使用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,把数据改成动态的啦
分享到:
相关推荐
使用`go_on_rails`生成其他Go组件 除了生成整个Go应用,`GoOnRails`还可以生成模型、控制器等特定的Go组件,帮助你逐步构建Go服务。例如,生成一个新的Go控制器: ```bash rails generate go_on_rails:controller...
- **Ajax 请求**:讲解了如何使用Rails进行Ajax请求处理。 - **自动更新**:探讨了自动更新数据的技术实现。 - **UI 观察者**:介绍了如何监听用户界面的变化。 - **Scriptaculous 辅助工具**:详细解释了...
Ajax-rails-ajax-demo.zip,ruby on rails的ajax演示项目,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...
综上所述,《Beginning Google Maps Applications with Rails and Ajax》这本书为初学者提供了一条清晰的学习路径,从基础概念到实践案例,全面覆盖了如何使用Google Maps API、Rails以及Ajax技术创建高质量的地图...
**Ajax on Rails** 是一本关于如何在Rails框架中利用Ajax技术来提升Web应用程序用户体验的书籍。Ajax(异步JavaScript和XML)技术允许开发者在不刷新整个页面的情况下更新部分网页内容,从而提供更流畅、响应更快的...
### 《从新手到专家:使用Rails与Ajax构建Google Maps应用》知识点概览 #### 一、书籍基本信息 - **作者**:Andre Lewis, Michael Purvis, Jeffrey Sambells 和 Cameron Turner - **出版日期**:2007年 - **ISBN-...
标签 "源码" 和 "工具" 暗示了可能在压缩包文件 "RailsAjax" 中包含了相关的示例代码或者工具,用于辅助学习和理解如何在Rails 2.2.2中实现AJAX。这些代码可能包括完整的应用示例、控制器、视图、模型以及相关的...
在Rails框架中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于创建动态和交互式的Web应用程序。AJAX允许页面在不刷新整个页面的情况下与服务器进行通信,从而提高用户体验。在本篇博文中,我们将...
Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional
Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional
总的来说,《跨越边界 Ajax on Rails》是一本深入浅出的指南,它不仅解释了Ajax和Rails的结合,还提供了丰富的实践示例,帮助开发者构建更加动态和交互性强的Web应用。无论是初学者还是经验丰富的Rails开发者,都能...
标题 "Rails3-使用ajax处理并发" 涉及的是在Ruby on Rails 3框架中如何利用Ajax技术处理并发请求。Rails是一个流行的Web应用程序开发框架,它基于Ruby语言,而Ajax(Asynchronous JavaScript and XML)则是一种允许...
Rails 为 Ajax 而内置集成的 Prototype.js 库可以轻松快速地创建所谓的富 Internet 应用程序。 本文将逐步引导您创建 Rails 应用程序。然后深入分析如何利用 Ajax 特性编写从服务器上读写数据的 JavaScript 代码。 ...
元素成分 Rails 5.1+的简单视图组件,旨在与配合使用。... 通过执行以下操作来生成组件: $ bin/rails g elemental_components:component alert 这将创建以下文件: app/ components/ alert/ _a
ajax on rails压缩包,全英文
通过了解和应用Ajax,开发者可以创建出更加动态、用户友好的Web界面,而Rails则为这一过程提供了高效的平台。 **跨越边界的系列文章** 该系列文章旨在展示其他编程方法和技术如何影响Java开发者,通过学习和借鉴,...