7

我正在用 Grape on Rails 4.2 构建一个 API。这是GitHub 上的 repo 的链接。

在前端,我有一个用 EmberJS 构建的 JavaScript 应用程序。这里也是GitHub 上的 repo 的链接。

我更新了以下 gem,以便我可以按照 JSON API 标准格式化我的 API 响应,这似乎需要更新到 Ember 1.13,然后更新到 Ember 2.0。

gem "active_model_serializers", '0.10.0.rc2'
gem "grape"
gem "grape-active_model_serializers", :git => 'https://github.com/jrhe/grape-active_model_serializers.git'

之后,当我调用 API 时出现以下错误:IOError: Not opens for reading

根据我在这里和那里收集的信息,我怀疑这与我格式化 JSON 的方式有冲突。

在 default.rb 中,继承所有 API 控制器的文件,当我评论这一行时:

formatter :json, Grape::Formatter::ActiveModelSerializers

我不再有任何错误,但显然响应没有序列化。

我的问题是:

  • 你知道我该如何解决这个问题吗?
  • 您认为在我的 Rails 应用程序中使用 Grape 构建 API 是否相关?随着 Rails 5 的到来,使用 rails-api 并重写整个应用程序不是更好吗?我的意思是,我要开始了,也许是时候这样做了……

如果您需要更多信息,请与我们联系。

在此先感谢您的帮助。

4

1 回答 1

0

我最终使用 jsonapi-resources 重写了整个 API。

于 2015-08-03T18:24:16.243 回答