【问题标题】:All I need is ActiveRecord and ActiveMailer, should I use Rails/Merb?我只需要 ActiveRecord 和 ActiveMailer,我应该使用 Rails/Merb 吗?
【发布时间】:2010-10-11 03:18:51
【问题描述】:
我有一个小型 Web 应用程序,目前在 Sinatra 上运行。它只有两页,所以我真的不需要控制器或很多视图。我已经包含 ActiveRecord 以与数据库交互,并包含 ActiveMailer 以发送和接收邮件。
在这么小的项目上使用 Rails 或 Merb 是否值得?我发现自己添加了 Rails 中包含的功能。我之前没有任何使用 Merb 的经验,所以我真的不知道这是否是一个合适的选择。但据我所知,Merb 可能是一个只需要几个组件的项目的方式。
谢谢。
【问题讨论】:
标签:
ruby-on-rails
sinatra
merb
【解决方案1】:
如果您已经在 Sinatra 上运行一个小型项目,则无需切换到 Rails。您可以在 Rails 之外使用 ActiveRecord 和 ActiveMailer。
【解决方案2】:
Merb 正在与 Rails for Rails 3.0 版合并。作为此过程的一部分,核心 Rails 架构将被“合并”,以便更轻松地配置为仅使用您需要的特定组件。
随着应用程序的增长,您可能会发现自己正在重新发明已经存在的功能,在这种情况下,我会考虑切换框架。
就个人而言,即使是非常小的项目,我也会使用 Rails。这意味着我为我所做的一切工作都有一个单一的框架和部署环境。
【解决方案3】:
我经常将 Sinatra 用于比您描述的要大得多的东西。您发现需要添加 Rails 的哪些功能?如果它只是像5.hours.ago 之类的东西,你总是可以:a)将那部分代码从 activesupport 中拉出来并将其粘贴到项目中的“common”/类似文件中,或者 b)只需要 activesupport 并使用它的功能.