Ruby on rails Rails如何适应富客户端web应用程序?

Ruby on rails Rails如何适应富客户端web应用程序?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我是RubyonRails的新手,除了简单的博客示例之外,我还试图了解它的用法 Rails似乎可以轻松地与表单交互,并将对象接收/持久化到数据库。我在“twitter”或“博客”类型的应用程序中得到了这些信息。但是更多的真实世界类型的例子呢?假设我们构建了一个网站,它的主页上充满了登录/注册(w/Desive和OmniAuth)的静态信息 a、 我需要“家庭”控制器吗? b、 就这一点而言,我是否需要一个与站点上每种类型的网页对应的控制器(假设该网页不是100%静态的,在这种情况下,它将在/pu

我是RubyonRails的新手,除了简单的博客示例之外,我还试图了解它的用法

  • Rails似乎可以轻松地与表单交互,并将对象接收/持久化到数据库。我在“twitter”或“博客”类型的应用程序中得到了这些信息。但是更多的真实世界类型的例子呢?假设我们构建了一个网站,它的主页上充满了登录/注册(w/Desive和OmniAuth)的静态信息

    a、 我需要“家庭”控制器吗?
    b、 就这一点而言,我是否需要一个与站点上每种类型的网页对应的控制器(假设该网页不是100%静态的,在这种情况下,它将在/public中)

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

  • 很抱歉问了这么多愚蠢的问题……我没有rails导师

  • a) 您不需要“主”控制器。但是,您应该有一些控制器作为登录页/仪表板处理“根”路径,而“主”控制器可以很好地处理这一点

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

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

  • 如果一个页面会有很多客户端的妙趣横生……rails是右后端吗

    这个问题会给你带来麻烦,所以:)


    然而,有一种说法是,它与任何其他封装客户端“whiz bang”库的框架一样好。

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

    对于单页应用程序,Rails提供RESTfulAPI(JSON)来提供数据,其中表示逻辑使用Javascript实现&使用Backbone.js更接近MVC模式

    谢谢你的提问 (一)

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

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

    (二) 如果要获取不同模型中每个图形、数据表和映射的数据,一种方法是实现一个控制器,该控制器查询每个模型中的数据,并以适当的方式为每个UI元素做好准备。为此,最简单的方法是以JSON呈现视图,以便轻松绑定UI组件的数据

    如果您希望以灵活的方式呈现JSON,这将是一个不错的选择

    目前我正在从事一个使用Rails的项目(将近两年了)&RESTfulJSONAPI的发展仍然没有重大挑战

    如果一个页面会有很多客户端的妙趣横生……rails是右后端吗


    Rails可以作为客户端代码繁重的应用程序的后端。在某个时候,你(可能)需要做一些基本的用户管理和身份验证,以及获取和发送某种持久数据,这样Rails就不会“出错”“就其本身而言。有人可能会说,如果您真的要创建一个RESTful API+一些登录页,那么更轻量级的框架(例如,如果您要使用Ruby,或者类似(Python)的东西,或者Javascript堆栈+)会更合适,但是Rails也做得很好,如果有机会的话,还有很多其他的功能可供您使用。

    感谢您提供了以上的精彩答案

    实际上,我刚刚看到一段视频,它在回答我的问题方面做得非常出色。我把它贴在这里是为了那些可能好奇的人:


    简短回答:是。37 Signals(Basecamp、Campfire等)开发的所有产品都是用Rails编写的,非常出色、复杂和深刻。Rails是一个功能强大且灵活的框架,用于编写完全动态的现代web应用程序。。。包括所有前端客户端行为。我从2007年就开始在Rails上写作,它的前端和后端都非常棒。但我离题了,因为真正的答案是“这真的是一个意见问题”,所以并不真正符合某个问题的标准。Rails是一个很好的开始框架,但是它不能代替你可能想在前端做的更花哨的东西。另外,请阅读模型关联。