कारणों से कि मैं अब तक पूरी तरह से समझने में असमर्थ हूं, अब मैं ActiveSupport :: हैशविथ इंडिफेंडरएप का उपयोग करने में सक्षम नहीं हूं।सक्रिय समर्थन के रूप में serialize करने में असमर्थ :: हैशविथ इंडिफेंडरएप अब
मॉडल की प्रासंगिकता का इस तरह दिखता है:
class Item < ActiveRecord::Base
serialize :metadata, ActiveSupport::HashWithIndifferentAccess
(मैं कोशिश करते हैं और इसके साथ के लिए मजबूर करने का विकल्प जोड़ा है, लेकिन यह नहीं मदद की है इससे पहले यह था सब ठीक काम कर रहा है, और मैं नहीं था '। टी वहाँ है।)
जब तक वस्तु स्मृति में है, सबकुछ ठीक काम करता है। यह सही ढंग से एक हैशविथ इंडिफरेंस एक्सेस है, और जीवन अच्छा है।
mysql> select * from items;
+----+------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
| id | link | text | metadata | category_id |
+----+------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
| 1 | NULL | Apple Store | ---
id: 42cc7080f964a520e9251fe3
name: Apple Store
contact:
phone: '4153920202'
formattedPhone: (415) 392-0202
location:
address: 1 Stockton St.
crossStreet: at Ellis St.
lat: '37.78573590563453'
lng: '-122.40610713227913'
distance: '1784'
postalCode: '94108'
city: San Francisco
state: CA
country: USA
categories:
'0':
id: 4bf58dd8d48988d122951735
name: Electronics Store
pluralName: Electronics Stores
shortName: Electronics
icon: https://foursquare.com/img/categories/shops/technology.png
parents:
- Shops & Services
primary: 'true'
verified: 'false'
stats:
checkinsCount: '30462'
usersCount: '16105'
tipCount: '128'
url: http://apple.com/sanfrancisco
hereNow:
count: '7'
| 1 |
+----+------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
यह एक HashWithIndifferentAccess में वापस मजबूर नहीं किया जा सकता है और चीजें इस तरह उड़ा जिसका मतलब है:
ActiveRecord::SerializationTypeMismatch in Index#index
Showing /development/lists.io/website/app/views/users/_todo.html.haml where line #7 raised:
Attribute was supposed to be a ActiveSupport::HashWithIndifferentAccess, but was a Hash
यह वह जगह है यह डेटाबेस के लिए सहेजा जाता है एक बार, यह बजाय एक हैश के रूप में सहेज लिया जाता है रेल 3.1.3 का उपयोग करके, mysql2 मणि संस्करण 0.3.10 का उपयोग कर MySQL में डेटा संग्रहीत करना। मैं रूबी 1.9.2 पी 2 9 0 भी चला रहा हूं। मैं अब और जानकारी जोड़ सकता हूं कि किसी को भी मददगार लगेगा, लेकिन मुझे इस बात पर नुकसान हुआ है कि इसे आगे कैसे डिबग करना है।