使用rails用于非常薄的应用程序

时间:2015-05-13 12:04:48

标签: ruby-on-rails

我已经在Ruby on Rails的大型网站上工作了两年多,现在发现编写Web应用程序或服务非常方便。现在我想构建一个非常瘦的Web服务:没有数据库,没有前端1-2控制器,每个控制器有2-3个动作。

当我调用rails new时,它就是"脚手架"一个大型的应用程序结构,有什么方法可以将一个默认的大型结构替换为一个小型服务合适的带有rails的结构? (顺便说一下,如果您认为我不需要使用rails来进行这样的项目,欢迎您解释原因。)

1 个答案:

答案 0 :(得分:2)

我只是想提出一些意见,但我们尽量不在评论中回答,所以我会尝试综合相关的观点:

Rails的基础架构旨在容纳一个相当复杂的应用程序,并且对于您正在讨论的那种简单的应用程序来说可能有点过分。这很重要,因为Rails包含Convention Over Configuration,并且这些约定适用于更大的应用程序。 这里有几个例子(不是详尽的清单):

  1. Rails将路由分隔到它们自己的文件中,使用各个控制器类与每种类型的资源进行交互。如果您的应用中只有少数几个页面,那么这可能比您需要的结构更多。
  2. 虽然你可以告诉它不是,Rails默认假设你想使用ActiveRecord(并且你有一个数据库可以与它交谈)。它还假设您需要模型类,并且它们足够多,并且它们非常复杂,需要它们自己的单个文件目录。
  3. Rails Asset Pipeline非常适合处理需要大量预处理的大量复杂资产。这也是屁股的痛苦。
  4. 有许多基于Ruby的微框架可能更适合您描述的那种应用程序。 Sinatra可能是使用最广泛的。它几乎没有假设,因此很轻巧,允许您在应用程序中建立您想要的任何设计模式。还有bunch of others可能值得考虑。