Rails模型使用API​​而不是数据库

时间:2012-08-24 17:03:50

标签: ruby-on-rails-3 api single-responsibility-principle

我正在重构当前使用数据库和ActiveRecord的rails应用程序,以便它使用JSON API(Sinatra)而不是数据库。

重构模型的最佳方法是什么? API将返回与数据库相同的所有信息。事实上,它是相同的数据库,但是对于可扩展性和需要访问数据的多个应用程序,我们需要将其转换为API。理想情况下,只有模型需要更改,理想情况下我可以在rails应用程序中保留一些验证。

如何更改模型,以便通过API调用而不是ActiveRecord数据库调用来检索和保存实例?

3 个答案:

答案 0 :(得分:11)

我认为您正在寻找类似ActiveResource

的内容

答案 1 :(得分:7)

Rails 4 结帐:

https://github.com/whichdigital/active-rest-client

  

此gem用于以ActiveRecord样式访问REST服务。   ActiveResource已经存在,但它并没有在哪里工作   资源命名并不遵循Rails惯例,它没有   内置缓存,一般不灵活。

答案 2 :(得分:1)

您可以使用flexirest gem。哪个更灵活 ActiveRestClientActiveResource