Ben aşağıdaki alanları olan bir Damage
tablo vardır:JSON nesneleri dizisi olan bir ray alanı mı?
- açıklama
- date_of_damage
Ben şuna benzer JSON nesneleri Damagepoints
saklamak için başka bir alan eklemek istiyorum :
{ top: 50, left: 100 }
Üst ve sol bir üzerinde damagepoint
koordinatları diyagram. damagepoints
, kullanıcı tarafından Javascript kullanılarak eklenir/kaldırılır.
Ancak, bu gibi bir alanda, bu damagepoints
bir dizi saklamak istediğinizi: Bir has_many
ilişki nedeniyle bir Damagepoint
tablosu kullanılarak bunu yapmak istemiyorum
@damage.damagepoints = [{left: 40, top: 99}, {left: 100, top: 35}, {left: 150, top: 95}]
Bu değişikliklerin tümü Javascript kullanılarak yapılacaktır ve kullanıcı tarafından Damagepoints
oluşturulduğunda veya kaldırıldığında, sadece damagepoints
güncellenmiş dizisini istemciden geçirmek ve veritabanındaki eski diziyi yeni diziyle değiştirmek istiyorum. Bir has_many
ilişkisi kullanmış olsaydım, Damagepoints
'un tümünü silmem ve dizinin her güncelleştirilmesinde her yeni bir tane oluşturmam gerekir (çünkü çok karmaşıktır ve ben yokken belirli hasar noktalarını silmekten/eklememden bir yararım yok) tarih izlemeniz gerekir.
@damage.damagepoints
(yukarıda) gibi verileri depolamanın en kolay yolu nedir? Tek yapmam gereken, onu (denetleyici aracılığıyla) bir html5 veri özniteliğine geçirmektir, böylece Javascript tarafından mevcut damagepoints
şemasına (koordinatlarına dayanarak) eklenebilir ve sonra güncelleştirilmiş bir diziyi iletebilir (html5 veri özniteliğinden), kullanıcı 'Kaydet' düğmesini tıkladığında bir AJAX çağrısı aracılığıyla denetleyiciye geri döner.
Rails 4.2 ve Postresql kullanıyorum.
Teşekkürler! Veritabanına yazmadan önce verilerinizi seri hale getirin ve okurken serileştirin.
kabul eder Teşekkürler! Kullanıcı, bir AJAX çağrısı aracılığıyla bir kontrol dizisi olarak denetleyiciye aktarılan 'damage_points'de değişiklik yaparsa, 'Damage.damage_points = nil' ve ardından 'Damage.create' ı (damage_points) ayarlayabilirim. : [{...}] '? Ben kazanmak için küçük bir sürü sorun olacak gibi, belirli damage_points oluşturmak veya silmek zorunda kalmak istemiyorum.Teşekkürler! – jackerman09
Evet - damage_points yeniden atama zaten ne olduğunu tamamen üzerine yazacaktır İlk olarak sıfırlamaya gerek yok. –
Harika, tekrar teşekkürler! – jackerman09