私はこの問題で困惑しています。ActiveSupport :: JSONとJSON gemの間の競合をどのように扱いますか?
ActiveSupport::JSON
は、さまざまなコアオブジェクト上にto_json
と定義しています.JSON宝石も同様です。しかし、実装は同じではありません。ActiveSupportのバージョンには引数があり、JSONの宝石のバージョンには反映されません。
私はJSON gemを必要とする宝石をインストールし、私のアプリは壊れました。問題は、オブジェクトのリストを返すコントローラでto_json
を使用していますが、返される属性を制御したいということです。
どこにでも私のシステムのコードがrequire 'json'
私は、このエラーメッセージを取得ん:
TypeError: wrong argument type Hash (expected Data)
を私はそれを修正するためにオンラインで読む物事のカップルを試してみましたが、何も働きました。私はの代わりにActiveSupport::JSON.decode
を使うように宝石を書き直した。
これは機能しますが持続可能ではありません...私はJSONの宝石を必要とする宝石を使用するたびに宝石を捨てることはできません。
更新:この問題の最善の解決策は、修正されたRails 2.3以降にアップグレードすることです。
がなぜこの質問は、「コミュニティのwiki」としてマークされていますか? –
私は、私はそれを試して、それが何を参照してくださいと思ったのか分かりません。 –
私はあなたの痛みを感じました、私はこの混乱がいつかソートされることを願っています – MatthewFord