0

Rails アプリに Listings_controller と Listing モデルがあります。データベースは、それぞれ名前、緯度、経度などのリストで構成されています。

私のlisting_controllerには、呼び出されたときにJSONオブジェクトを呼び出し元に返すメソッドがあります。

JSON オブジェクトは、対応する Listings モデルからデータを取得する必要があります。ただし、JSON オブジェクトには、各リストの名前、緯度、経度のみが含まれ、モデルの他の属性は含まれないようにしたいと考えています。どうすればこれを制限できますか?

現在、メソッドが JSON オブジェクトを返す場合、各リストのすべての属性が含まれています。

現在の実装は次のとおりです。

def list  
@listings = Listing.order(:name)  
render :text=>(@listings).to_json()  

終わり

4

3 に答える 3

1

置き換えてみてはどうですか:

@listings = Listing.order(:name)  

と:

@listings = Listing.order(:name).select([:name, :latitude, :longitude])
于 2012-04-18T20:10:03.003 に答える
0

rabl gemを見ることをお勧めします。これは、json を簡単かつ柔軟に生成するためのテンプレート システムです (とりわけ)。

無料のレールキャストもあります。

于 2012-04-18T19:44:51.213 に答える
0

active_model_serializers gemを確認できます。

それがすべて必要ない場合は、手動でハッシュを作成できます。

render :text => {name: @listing.name, lat:@listing.lat, long:@listing.long}.to_json
于 2012-04-18T19:49:09.480 に答える