由于我到目前为止完全无法破译的原因,我不再能够使用ActiveSupport :: HashWithIndifferentAccess了.
模型的相关部分如下所示:
class Item < ActiveRecord::Base
serialize :metadata, ActiveSupport::HashWithIndifferentAccess
Run Code Online (Sandbox Code Playgroud)
(我添加了尝试强制它的选项,但它没有帮助.以前这一切都工作正常,我没有那里.)
只要对象在内存中,一切正常.这是正确的HashWithIndifferentAccess,生活是美好的.一旦它被保存到数据库,它就会被保存为Hash:
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: …Run Code Online (Sandbox Code Playgroud) 我来自主要使用VIM的所有东西,所以我有一个习惯,基本上任何时候我打字输入.无论如何只有取消绑定自动完成菜单才能在逃脱时出现?如果我删除了esc的"取消"键绑定,那么它会停止弹出自动完成菜单,但我无法取消任何内容,而是每当我遇到逃生时我都会出现颠倒的问号.