2012-04-05 15 views
1

Rails 3でGrape(https://github.com/intridea/grape)を使用していますが、奇妙な問題が発生しています。Grape、Rails 3、HerokuのJSONの代わりにXML

APIクラスのデフォルトの出力形式としてjsonを定義しました。私は結果を出力するためにas_jsonメソッドを使用しています。私/lib/MyAPI.rbで

:開発効率向上モードで

class MyAPI < Grape::API 
    prefix 'api' 
    version 'v1', :using => :path, :format => :json, :default_format => :json 

    resource "users" do 
    get do 
     error!("401 invalid token", 401) unless current_user 
    users = User.where('id != ?' , current_user.id) - current_user.friends 
     users.as_json() 
    end 
    end 
end 

、JSONはcorrecltyレンダリングされた、しかし、HerokuのXMLの上の代わりにJSONでレンダリングされています。

なぜ誰かが知っていますか?

ありがとうございます。

+0

ローカルサーバーのプロダクションモードでアプリケーションを実行する場合、同じ問題がありますか? – shingara

+0

ローカルサーバーのプロダクションモードでは、正しく動作します。それは英雄の問題だと思われます。ご協力いただきありがとうございます。 – mathieurip

+0

APIを呼び出すと、あなたのherokuインスタンスのログを貼り付けることができますか? – shingara

答えて

3

READMEとコードに従って。 Grape 0.2.0バージョンでは、default_formatはバージョンクラスメソッドのオプションではありません。クラスによって修正する必要があります。

class MyAPI < Grape::API 
    prefix 'api' 
    version 'v1', :using => :path 
    format :json 
    default_format :json 

    resource "users" do 
    get do 
     error!("401 invalid token", 401) unless current_user 
    users = User.where('id != ?' , current_user.id) - current_user.friends 
     users.as_json() 
    end 
    end 
end 
+0

私はあなたの提案を試みましたが、次のエラーが発生しました: '/Users/mathieuripert/woudu/lib/MyAPI.rb:4:in' format ':SymbolをStringに変換できません(TypeError) ' – mathieurip

+1

どのバージョンのgrapeつかいます ? – shingara

+0

バージョン0.1.5 ... – mathieurip

関連する問題