在 taggable_id 上充当可标记的增量如此之快
Acts As Taggable On taggable_id incrementing so fast
我从我的数据库中检索了 54 个项目:
items = Item.where(condition)
items.count == 54
and then:
items.each {|i| i.tag_list.add("tag")}
但是:
ActsAsTaggableOn::Tagging.pluck(:taggable_id)
Returns 这个数组 taggable_id
:
[0, 0, 1, 1, 2, 2, 4, 4, 5, 5, 6, 6, 7, 7, 9, 9, 15, 15, 18, 18, 24, 25, 25, 32, 32, 38, 38, 49, 49, 74, 74, 93, 93, 96, 96, 99, 99, 363, 363, 583, 583, 854, 926, 926, 939, 939, 5276, 5276, 22118, 22118, 48474, 48474, 80172, 624486, 624486, 28184633, 28184633]
当项目计数 > 100 时,taggable_id 超出范围并引发异常。因为它试图插入一个 12 位整数。
此问题与 taggable_id
是十六进制字符串而不是整数有关。当 rails 将数字解析为整数时,它变成了 bigint
.
ActsAsTaggableOn
不接受(此时)字符串作为外来字符串 taggable_ids。
我从我的数据库中检索了 54 个项目:
items = Item.where(condition)
items.count == 54
and then:
items.each {|i| i.tag_list.add("tag")}
但是:
ActsAsTaggableOn::Tagging.pluck(:taggable_id)
Returns 这个数组 taggable_id
:
[0, 0, 1, 1, 2, 2, 4, 4, 5, 5, 6, 6, 7, 7, 9, 9, 15, 15, 18, 18, 24, 25, 25, 32, 32, 38, 38, 49, 49, 74, 74, 93, 93, 96, 96, 99, 99, 363, 363, 583, 583, 854, 926, 926, 939, 939, 5276, 5276, 22118, 22118, 48474, 48474, 80172, 624486, 624486, 28184633, 28184633]
当项目计数 > 100 时,taggable_id 超出范围并引发异常。因为它试图插入一个 12 位整数。
此问题与 taggable_id
是十六进制字符串而不是整数有关。当 rails 将数字解析为整数时,它变成了 bigint
.
ActsAsTaggableOn
不接受(此时)字符串作为外来字符串 taggable_ids。