`
wuhuizhong
  • 浏览: 681078 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

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

    博客分类:
  • ROR
阅读更多

 当你需要采用动态树型视图的时候,你会自然的使用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,把数据改成动态的啦

分享到:
评论

相关推荐

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    使用`go_on_rails`生成其他Go组件 除了生成整个Go应用,`GoOnRails`还可以生成模型、控制器等特定的Go组件,帮助你逐步构建Go服务。例如,生成一个新的Go控制器: ```bash rails generate go_on_rails:controller...

    Ajax on Rails (PPT)

    - **Ajax 请求**:讲解了如何使用Rails进行Ajax请求处理。 - **自动更新**:探讨了自动更新数据的技术实现。 - **UI 观察者**:介绍了如何监听用户界面的变化。 - **Scriptaculous 辅助工具**:详细解释了...

    Ajax-rails-ajax-demo.zip

    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

    综上所述,《Beginning Google Maps Applications with Rails and Ajax》这本书为初学者提供了一条清晰的学习路径,从基础概念到实践案例,全面覆盖了如何使用Google Maps API、Rails以及Ajax技术创建高质量的地图...

    Ajax on Rails

    **Ajax on Rails** 是一本关于如何在Rails框架中利用Ajax技术来提升Web应用程序用户体验的书籍。Ajax(异步JavaScript和XML)技术允许开发者在不刷新整个页面的情况下更新部分网页内容,从而提供更流畅、响应更快的...

    Beginning Google Maps Applications with Rails and Ajax From Novice to Professional.pdf

    ### 《从新手到专家:使用Rails与Ajax构建Google Maps应用》知识点概览 #### 一、书籍基本信息 - **作者**:Andre Lewis, Michael Purvis, Jeffrey Sambells 和 Cameron Turner - **出版日期**:2007年 - **ISBN-...

    基于Rails2.2.2的ajax

    标签 "源码" 和 "工具" 暗示了可能在压缩包文件 "RailsAjax" 中包含了相关的示例代码或者工具,用于辅助学习和理解如何在Rails 2.2.2中实现AJAX。这些代码可能包括完整的应用示例、控制器、视图、模型以及相关的...

    rails ajax提交文件或图片

    在Rails框架中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于创建动态和交互式的Web应用程序。AJAX允许页面在不刷新整个页面的情况下与服务器进行通信,从而提高用户体验。在本篇博文中,我们将...

    Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional (part2)

    Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional

    Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional (part1)

    Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional

    跨越边界 Ajax on Rails

    总的来说,《跨越边界 Ajax on Rails》是一本深入浅出的指南,它不仅解释了Ajax和Rails的结合,还提供了丰富的实践示例,帮助开发者构建更加动态和交互性强的Web应用。无论是初学者还是经验丰富的Rails开发者,都能...

    Rails3-使用ajax处理并发

    标题 "Rails3-使用ajax处理并发" 涉及的是在Ruby on Rails 3框架中如何利用Ajax技术处理并发请求。Rails是一个流行的Web应用程序开发框架,它基于Ruby语言,而Ajax(Asynchronous JavaScript and XML)则是一种允许...

    在Ruby on Rails中使用AJAX的教程

    Rails 为 Ajax 而内置集成的 Prototype.js 库可以轻松快速地创建所谓的富 Internet 应用程序。 本文将逐步引导您创建 Rails 应用程序。然后深入分析如何利用 Ajax 特性编写从服务器上读写数据的 JavaScript 代码。 ...

    elemental_components:Rails 5.1+的简单视图组件

    元素成分 Rails 5.1+的简单视图组件,旨在与配合使用。... 通过执行以下操作来生成组件: $ bin/rails g elemental_components:component alert 这将创建以下文件: app/ components/ alert/ _a

    ajax on rails

    ajax on rails压缩包,全英文

    跨越边界1:Ajax on Rails

    通过了解和应用Ajax,开发者可以创建出更加动态、用户友好的Web界面,而Rails则为这一过程提供了高效的平台。 **跨越边界的系列文章** 该系列文章旨在展示其他编程方法和技术如何影响Java开发者,通过学习和借鉴,...

Global site tag (gtag.js) - Google Analytics