私はレール4.2.5 APIアプリケーションを持っています。何らかの理由で、jsonルートノードが応答に含まれていないため、なぜ私は理解できません。rails APIアクティブモデルシリアライザルートノードが動作しない
curl http://localhost:3000/api/v1/category/science
戻り
{"title":"science","sub_categories":34}%
代わりに
{"category": {"title":"science","sub_categories":34}%}
コード:
コントローラ
class Api::V1::CategoryController < ApplicationController
def show
category = params[:category] || "sports"
@category = Category.where(cat_title: category.capitalize).first
respond_to do |format|
format.json { render json: @category, serializer: CategorySerializer, root: "category" }
end
end
end
は、シリアライザ
class CategorySerializer < ActiveModel::Serializer
attributes :title, :sub_categories
def title
URI::encode(object.cat_title.force_encoding("ISO-8859-1").encode("utf-8", replace: nil).downcase.tr(" ", "_"))
end
def sub_categories
object.cat_subcats
end
end
私もこの 'ActiveModelSerializers.config.adapter =:json'を追加しなければならなかった –