我可以在没有数据库的情况下使用Rails,只调用Web服务吗?

时间:2009-06-22 05:05:31

标签: ruby-on-rails web-services

我打算编写一些新的UI代码,很多人建议使用RoR。但是从我到目前为止读到的关于RoR的内容来看,似乎几乎必须要有一个数据库来存储后端数据。就我而言,我无法访问数据库,所有数据对象都可通过Web服务(一些REST和SOAP服务)获得。

我认为在这种情况下我必须使用控制器直接与服务对话,但是在没有模型层(ActiveRecord)的情况下使用RoR仍然是一个好主意。

是否还有其他框架更适合这种方法(我可以使用Java或Ruby中的任何内容,我们没有任何PHP或Python代码)。

2 个答案:

答案 0 :(得分:3)

Rails可以正常工作;它明确支持在没有ActiveRecord的情况下运行。请参阅默认environment.rb文件中的注释:

# Skip frameworks you're not going to use. To use Rails without a database
# you must remove the Active Record framework.
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]

如果您未加载ActiveRecord,您的database.yml文件将被忽略;所有模型都可以从ActiveResource :: Base继承,并且可以正常工作。

答案 1 :(得分:0)

如果您只做网络服务,那么我会推荐sinatra。 Sinatra使得在Web服务上运行的应用程序变得轻而易举。如果您希望在客户端上使用片段URL进行类似的处理,请查看sammy。它们对于构建具有非传统数据源的Web应用程序都非常棒。