Rails如何适用于Client Rich web应用程序



我是RubyonRails的新手,我正在努力理解它在简单博客示例之外的用法。

  1. Rails似乎可以轻松地与表单交互,并将对象接收/持久化到数据库中。我买这个是为了";twitter’或";博客;类型应用程序。但更多真实世界类型的例子呢?比方说,我们建立了一个网站,它有一个主页,里面大部分是静态信息,带有登录/注册(w/Devise和OmniAuth)。

    a。我需要一个";家;控制器
    b。就这一点而言,我是否需要一个与网站上每种类型的网页相对应的控制器(假设页面不是100%静态的,在这种情况下它将是公开的)?

  2. 如果登录后,用户被带到一个使用图形、数据表和地图的功能丰富的页面,该怎么办?也许这三件事需要来自三个不同模型的数据。如何做到这一点?我想在这种情况下会有很多客户端逻辑(比如Kendo UI或Jquery)。所以我想rails应用程序基本上会变成一个json API?如果一个页面会有很多客户端的精彩。。。rails是右后端吗?

对这些愚蠢的问题感到抱歉。。我没有铁路导师。

  1. a)您不需要"home"控制器。然而,您应该有一些控制器来处理"根"路径作为登录页/仪表板,而"主页"控制器可以很好地处理这一点。

    b) 您需要一个控制器来处理每个概念类别或资源(如REST),但不一定每个页面都有一个控制器。例如,所有"帮助"页面都可以由一个控制器处理。

  2. 图形的底层数据可以与初始页面一起构建,或者更常见的是通过ajax从控制器操作构建。控制器动作将负责收集和返回适当的数据。然后,您可以使用客户端api(例如谷歌图表)来构建可视化图形,也可以使用助手模块在服务器端进行构建,并返回所需的图像或HTML/JS/CSS来表示图形。

如果一个页面会有很多客户端的精彩。。。rails是右后端吗?

这个问题可能会让你在SO上遇到麻烦:)

然而,可以提出一个论点,即它与任何其他框架一样适合封装客户端的"嗖嗖"库。

我一直在开发一个Rails单页web应用程序,该应用程序具有基于表单的管理区域和面向普通用户前端的单页应用程序。

对于单页应用程序,Rails提供RESTful API(JSON)来提供数据,其中表示逻辑使用Javascript&使用Backbone.js.以更接近MVC模式的方式组织

对于您的问题1)

a) 对于使用Devise的身份验证,您可能需要一个控制器来解释登录请求,但对于后续请求,您可以决定什么是基本路由和控制器映射。

b) 不!网站上的每个网页都不需要单独的控制器。您可以使用相同的控制器,并根据请求方法和参数渲染不同的视图。

2)如果要为不同模型中的每个图、数据表和映射获取数据,一种方法是实现一个控制器,该控制器查询每个模型中的数据,并以适当的方式为每个UI元素进行准备。为此,最简单的方法是用JSON呈现视图,这样就可以很容易地为UI组件绑定数据。

如果您想以灵活的方式呈现JSONhttps://github.com/nesquena/rabl这将是一个不错的选择。

目前,我正在与Rails&但RESTful JSON API在没有重大挑战的情况下不断发展。

如果一个页面将有很多客户端的精彩。。。rails是右后端吗?

Rails可以作为具有客户端代码的应用程序的后端。在某种程度上,你(可能)需要做一些基本的用户管理和身份验证,以及获取和发送某种持久性数据,这样Rails本身就不会"错误",如果你真的只想创建一个RESTful API+一些登陆页,或者像Bottle(Python)或node.js+express的Javascript堆栈会更适合,但Rails也做得很好,并且有很多其他功能可以供你成长。

感谢您的回答。

事实上,我刚刚看到一段视频,它很好地回答了我的问题。我把它贴在这里给那些来的人,可能会好奇:

http://ontwik.com/ruby/building-rails-apps-for-the-rich-client/

最新更新