1

我有一个应用程序,我们正在使用它来为另一个应用程序提供 api 调用。但是感觉很重,因为它仍在使用整个导轨,但我们不使用视图等......

其他人是如何解决这个问题的,只是删除文件?我只需要我的模块和服务能力。

使用 Sinatra 会更好吗?

4

3 回答 3

5

查看相对较新的rails-api插件,它提供了用于构建 API 服务的 Rails 子集。您可以在此处阅读发布博客文章。

还有一个Railscasts 插曲展示了它的使用。

于 2012-06-21T19:41:04.063 回答
2

在我的工作中,我们正在做你所需要的。不幸的是,我对使它工作的过程不是很熟悉,其他人设置了它。我所知道的是,在 config/application.rb 你可以选择你的应用程序需要的东西。如果需要,您甚至可以添加/删除中间件。如果它对我们的案例有帮助,我们将使用这些框架:

require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"

并删除这些中间件:

config.middleware.delete Rack::Lock
config.middleware.delete ActionDispatch::Flash
config.middleware.delete ActionDispatch::Cookies
config.middleware.delete ActionDispatch::Session::CookieStore
config.middleware.delete ActionDispatch::BestStandardsSupport
于 2012-06-22T14:04:33.063 回答
1

试着看看GRAPE,它就是这样做的——它有点像 Sinatra(使用 Rack),但非常轻量级并且专注于 API。Webmachine也很有趣(参见http://code.dblock.org/grape-vs-webmachine进行一些比较)

于 2012-06-22T15:15:49.807 回答