今天被'acts-as-taggable-on'
这个 gem 的一个小坑狠狠的坑了一把。
昨天更新了一个老项目,加了几个 gem,更新了 bundle
今天下午客户来抱怨有个功能报错
一开始感到很奇怪,这与我昨天修改的毫无关系,怎么之前好好地就挂了呢?
于是各种搜索,各种查看数据库,依然没有答案
后来仔细查看了前后两版的代码,跟这个功能相关的什么都变化,问题出在哪里?
调试发现是创建 tag 时会报错
发现跟 tag 有关的变化就只有gemfile.lock
我想这不大可能有问题啊,一个 update 而已,不过我还是抱着试试看的心态,改回了原来的旧版
结果居然成功了!原来是这个 gem 新旧版本不完全兼容。
不知道这样算不算是个坑,反正把我狠狠坑了一下午,差点开始怀疑人生了。 分享一下苦逼的经验
BTW:
使用acts-as-taggable-on
时最好指定版本 (尤其是在你使用较早版本时候)
# tag
# gem 'acts-as-taggable-on' #这样会再bundle时更新到最新版,可能会引起意想不到问题
gem 'acts-as-taggable-on', '~> 2.4.1'