私はrails-api
プロジェクトで、active model serialiazer
を使用しています。しかし、残念ながらその期待通りに動作しません。これは私のV1::HuntsController
アクティブなモデルシリアライザが正しい属性で応答しません
class V1::HuntsController < V1::MainController
def index
render json: Hunt.all
end
end
私の狩りのシリアライザは、この
class HuntSerializer < ActiveModel::Serializer
belongs_to :user
attributes :id,:title,:picture_url,:clue
private
def picture_url
object.picture.url
end
end
のように見えている。しかし、私のresponse
に私はhunt
からすべての属性を取得しています。バージョン管理の問題を避けるためにシリアライザを明示的に定義しようとしました。
render json: {data: Hunt.all } ,each_serializer: HuntSerializer
しかし、何も動作していないようです。ログには、私が見ることができる、
[active_model_serializers] Rendered V1::HuntSerializer with Hash (32.36ms)
ここで起こっていることは何ですか?どんな助けもありがとう。
質問で明確に言及したように、あなたは運がないと言った提案を試みました。私は '' debugger''も試してみましたが、呼び出されていませんでした。ここでは何が起こっているのかわからない。 – raj
ごめんなさいあなたが何を意味しているのか理解しました。私はそれとその作業を試みました。なぜ '' {data:Hunt.all} ''がうまくいかないのですか?それは '' as_json''メソッドを呼びませんか? – raj
AMSがオブジェクトを検査して対応するシリアライザ(HuntSerializer)を検索できないようにしています.2)each_serializerを使用しても、 '{data:Hunt.all} 'はアレイ。 – Alex