PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

नया डेटा Postgres पर रेल सरणी स्तंभ के लिए जारी नहीं है

मुझे संदेह है कि ActiveRecord यह नहीं देख रहा है कि आपके friends सरणी बदल गई है, ठीक है, अंतर्निहित सरणी संदर्भ तब नहीं बदलता है जब आप:

self.friends.push(target)

यह सामग्री को बदल देगा सरणी के लेकिन सरणी अभी भी वही सरणी होगी। मुझे पता है कि यह समस्या Rails3 में postgres_ext मणि के साथ आती है और इस समस्या को देखते हुए:

<ब्लॉककोट>

स्ट्रिंग विशेषता को गंदा के रूप में चिह्नित नहीं किया जाता है, जब यह << . के साथ बदलता है

मैं उम्मीद करता हूँ कि Rails4 उसी तरह व्यवहार करे।

समाधान यह होगा कि सरणी को इन-प्लेस संशोधित करने के बजाय एक नई सरणी बनाई जाए:

update_attributes friends: self.friends + [ target ]

मौजूदा सरणी में तत्व जोड़ते समय एक नई सरणी बनाने के कई तरीके हैं, जो भी आपको पसंद हो उसका उपयोग करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी अन्य चयन से लौटाई गई पंक्तियों की संख्या के आधार पर ऑर्डर करने की क्वेरी

  2. कैसे पता करें कि पोस्टग्रेएसक्यूएल 9.5+ यूपीएसईआरटी के साथ एक अप्सर्ट अपडेट था या नहीं?

  3. पोस्टग्रेज ज्यामिति प्रारूप को WKT . में बदलें

  4. डेबियन पर पोस्टग्रेज से पुराने डेटा को हटाने के लिए क्रॉन जॉब

  5. पोस्टग्रेज में क्रिएटबी के साथ समस्याएं