私はORMとしてDatamapperを使用してRails 3アプリケーションを作成しています。私は検索のためにElasticSearchを使用していますが、ActiveRecordに依存するように見えるので、タイヤの宝石を使用することはできません。RestClientの弾性サーチ応答を解析する
私はRestClientを使用してElasticSearchにリクエストを送信していますが、ルビーでレスポンスを解析する際に問題があります。
私はGETリクエスト "http://localhost:9200/twitter/tweet/2
" を提出した場合、私はブラウザに次を得る:Railsでは
{
"_index": "twitter",
"_type": "tweet",
"_id": "2",
"_version": 3,
"exists": true,
"_source": {
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "kimchy kimchy says"
}
}
、私は次のように入力するとき:
response = RestClient.get 'http://localhost:9200/twitter/tweet/2',{:content_type => :json, :accept => :json}
を、私はこの結果を得ます:
{
"_index": "twitter",
"_type": "tweet",
"_id": "2",
"_version": 3,
"exists": true,
"_source": {
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "kimchy kimchy says"
}
}
これはみかん正しい見えますが、私は私ノルムのようなドット表記を使用してデータを取得することはできません同盟者はJSONを使用します。
たとえば、定義されていないメソッドエラーが発生するため、response._type
を書き込むことはできません。
本当にありがとうございます。
タイヤはActiveRecordに依存しませんが、ActiveModelに依存します。 DataMapperがActiveModelと互換性のあるインタフェースを提供する場合は、ソートする必要があります。 – karmi