【发布时间】:2017-10-15 00:38:32
【问题描述】:
正如标题所说,我的应用程序中有一个简单的 ActiveResource,它应该从 api 获取数据。该集合在本地和生产服务器上都可以完美运行。但是,.find 在生产中不起作用,我收到一个奇怪的错误:
MyResource.find(1, params: { website_id: 2 })
ArgumentError: wrong number of arguments (given 2, expected 0..1)
如果我从连接到 api 的本地控制台运行相同的查询。 API 返回有效响应。我不知道如何调试它。
class MyResource < ActiveResource::Base
self.site = Rails.configuration.content_url
self.prefix = "/api/websites/:website_id/"
self.element_name = "game"
end
我不得不说,我在应用程序中有其他资源使用相同的 api,find 方法适用于它们,只有这个有问题。 出于某种原因,它会调用
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/core.rb#L330 有 2 个参数,但我不知道是谁打了这样的电话。而且它只发生在生产模式中,而不是在开发模式中。
【问题讨论】:
-
看看
MyResource的类定义会很有帮助,你能分享一下要点吗
标签: ruby-on-rails api ruby-on-rails-5