2017-05-16 4 views
3

タイトルによれば、私のアプリケーションには単純なActiveResourceがあり、APIからデータを取得するはずです。コレクションは、ローカルと本番サーバーの両方で完全に機能します。しかし、.find生産では動作しません、私は奇妙なエラーが出ます:アクティブなリソースの検索が本番では機能しません

MyResource.find(1, params: { website_id: 2 }) 
ArgumentError: wrong number of arguments (given 2, expected 0..1) 

私はAPIに接続されたローカルコンソールから実行した場合、同じクエリが動作します。 APIは有効な応答を返します。私は他のどのようにそれをデバッグするか分かりません。私はこの方法は、彼らのために働く見つけ、私は同じAPIを使用してアプリケーション内の他のリソースを持っている、と言っている

class MyResource < ActiveResource::Base 
    self.site = Rails.configuration.content_url 
    self.prefix = "/api/websites/:website_id/" 
    self.element_name = "game" 
end 

、これだけでは問題があります。 何らかの理由で

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/core.rb#L330 を2つの引数で呼び出すが、誰がそのような呼び出しを行うのか分からない。そして、それは開発モードではなく生産モードでのみ起こります。

+0

「MyResource」のクラス定義を参照すると役立ちますか、その要点を分かち合うことができますか – imechemi

答えて

0

私はこの問題を発見しましたが、それはこれまでにない変です。 APIの私のショーのメソッドでは、私はオブジェクトを返していましたが、私はいくつかの余分なデータでハッシュをマージしていました。私がブラウザで開いた場合、応答はうまくいきました。開発はうまくいきましたが、何らかの理由で、プロダクションではマージを受け入れたくありません。 問題は解決しましたが、それでもなぜそれが起こっているのか分かりません。

関連する問題