2

以下に示すように、カスタムモデル「結果」があります。その属性グループとカテゴリには、id、created_at、updated_atを持つアクティブレコードモデルがあります。

class Result
  attr_accessor :groups, :categories
end

グループとカテゴリで:except [:id、:created_at、:updated_at]メソッドを使用してto_jsonがResultオブジェクトで呼び出された場合、効果はありません。構築されたJSON出力にはid、created_at、updated_atが含まれます。

グループとカテゴリでid、created_at、updated_atなしでJSON出力を取得するための適切な条件付きto_jsonの構築を手伝ってください。

例:

result = Result.new
result.groups = groups
result.categories = categories

result.to_json(:include => {
  :groups => {:except => [:id, :created_at, :updated_at]},
  :categories => {:except => [:id, :created_at, :updated_at]}
})
4

1 に答える 1

3

あなたが持っているそれらのステートメントのどれも、to_jsonシリアル化で考慮されていません。

このページのように、これらのステートメントが機能するため:exclude, :include, :onlyは、次のことを行う必要があります(拡張していないためActiveRecord::Base)。

class Result
  include ActiveModel::Serializers::JSON

  attr_accessor :groups, :categories

  def attributes
    {'groups' => groups, 'categories' => categories}
  end
end

groupsとのクラスについても同じことが言えますcategories

于 2012-05-29T11:21:41.257 に答える