1

私はオブジェクトを作成しています:

artist = Artist.create(:name => "Jbeebs",
                       :genre => "bestmusicever", 
                       :plays => "toomany")

変数にand属性artistのみを持たせて、andを返すことができるようにしたいのですが、他には何もありません。namegenreartist.nameartist.genre

select for create のようなものはありますか?

アーティストの配列があり、JSON を出力するときにそれぞれの名前とジャンルのみを返したいと考えています。

4

2 に答える 2

2

to_jsonメソッドをオーバーロードすることでこれを行うことができますArtist

def to_json(options = {})
  { name: name, genre: genre }.to_json(options)
end

メソッドを JSON にキャストすると、:plays含まれていない JSON オブジェクトとして表示されます。

于 2012-10-26T22:03:58.713 に答える
0

json を出力するときは、アーティストを解析して新しいオブジェクトを作成し、json に変換します。

json_array = []
artists.collect{|artist| json_array << {name: artist.name, genre: artist.genre}}
json_array.to_json

それ以外の場合は、これら 2 つの属性のみを使用してアーティストを常に json で出力する場合は、Deefour の回答を使用してください。

于 2012-10-26T22:06:57.303 に答える