मैं ActiveRecord क्वेरी को एक महत्वपूर्ण मान जोड़ी के रूप में मैप करना चाहता हूं

मैं फ़ॉर्म में json_results प्राप्त करना चाहता/चाहती हूं

{ "16": "2017-10-16T17:04:51.000Z" }

लेकिन नीचे दिया गया कोड फॉर्म में परिणाम प्राप्त करता है

{ "id": 16, "date": "2017-10-16T17:04:51.000Z" }

r.id: r.started_at काम नहीं करता।

 @results = Visit.all

 json_results = {
    data: @results.map do |r| {
      id:   r.id,
      date: r.started_at

    } end
  }

रेल में इसे कैसे प्राप्त करें, क्योंकि मुझे इससे कुछ परेशानी हो रही है।

1
Wings2fly 19 अक्टूबर 2017, 18:14

2 जवाब

सबसे बढ़िया उत्तर

ये कोशिश करें:

 json_results = {
   data: @results.map do |r|
           { r.id => r.started_at }
         end
 }

उदाहरण:

puts ({4 => "foo"}.to_json)
# {"4":"foo"}
0
hoffm 19 अक्टूबर 2017, 18:33

एक और तरीका है pluck को to_h के साथ इस्तेमाल करना:

json_results = Visit.pluck(:id, :started_at).to_h
4
potashin 19 अक्टूबर 2017, 18:34