2016-07-18 14 views
1

このキーでjsonを作成する方法&値マッピング?Ruby On Rails - アクティブモデルシリアライザ。カスタムJSONシリアライザを作成します

  • キーはレコードの属性 'id'である必要があります。
  • 値は、レコードの属性 'name'である必要があります。

すなわち

[{ "21": "Jason" }, 
{ "22": "Britney" }, 
{ "25": "Donald" }, 
{ "#{id}": "#{name}" }] 

それは、Active Model Serializers gemを使用してこれを達成することは可能ですか?

答えて

1

なぜシリアライザが必要ですか?

users.map{|u| { "#{id}": name }.to_json 
+0

おかげで、これはトリックをしたことを実行することができます、清潔で簡単に。 –

0

必ずお読みください。このdocumentationスーツかもしれあなたの質問

+1

あなたの答えをありがとう。 –

+0

ページが見つかりません。答えにコンテンツなしのリンクを投稿するべきではありません。 – Mikko

+0

@Mikkoありがとう、私はリンクを更新します – alxibra

0

はhas_manyの関係のためのマニュアルを参照してくださいが、例が

class OrganizationSerializer < ActiveModel::Serializer 
    has_many :users, :key => :id, :serializer => UserSerializer 
end 

class UserSerializer < ActiveModel::Serializer 
    attributes :name 
end 

のように見えるかもしれませんあなたはその後、

OrganizationSerializer.new(organization).to_json 
+0

あなたの答えをありがとう、私は@ Bのセブンの答えを試みた、それはきれいで実用的に動作します。 –

+0

多くの属性や関連がある場合、シリアライザモデルがどのように役立つかを見ることができます。しかし、私はなぜActiveModelシリアライザがPOROシリアライザより優れているのだろうかと思います。 –

関連する問題