Bir RAils 3.1 uygulamasından "type" niteliği içeren bir nesne döndürürken, "type" özelliği dahil edilmez. Varsayalım:json response_with "type" niteliği dahil Rails 3.1
İlgili STI tablosu ile bir model. Modeller Hayvanı Kaldıran Kedi, Köpek ve Balık. JSON aracılığıyla bir hayvan döndürürken
, ben "tip" sütunu eklemek isteyen, ancak bu olmuyor:
jQuery.ajax("http://localhost:3001/animals/1", {dataType: "json"});
verim: Bu gibi görünüyor
responseText: "{"can_swim":false,"created_at":"2012-01-20T17:55:16Z","id":1,"name":"Fluffy","updated_at":"2012-01-20T17:55:16Z","weight":9.0}"
bir sorundur to_json:
bash-3.2$ rails runner 'p Animal.first.to_yaml'
"--- !ruby/object:Cat\nattributes:\n id: 1\n type: Cat\n weight: 9.0\n name: Fluffy\n can_swim: false\n created_at: 2012-01-20 17:55:16.090646000 Z\n updated_at: 2012-01-20 17:55:16.090646000 Z\n"
bash-3.2$ rails runner 'p Animal.first.to_json'
"{\"can_swim\":false,\"created_at\":\"2012-01-20T17:55:16Z\",\"id\":1,\"name\":\"Fluffy\",\"updated_at\":\"2012-01-20T17:55:16Z\",\"weight\":9.0}"
Bu davranışın ardındaki mantığı ve bunu nasıl geçersiz kılacağını bilen var mı?
Mükemmel ayarlanmış ekler, teşekkür - Bu hileye neden olabilir! – cyrusd
Bu, artıklığı azaltmak için güzel bir uzlaşma gibi gözüküyor: def as_json (seçenekler = {}) {tür: tür} .merge süper son – cyrusd
As_json'u geçersiz kılmayı seviyorum çünkü nesneleri gerçekten JSON'a nasıl dönüştürdüğümü biliyorum ve sadece gerçekten dönüştürmem gerekenleri dönüştürüyorum. – lucapette