我正在创建一个去中心化的 rails 3 应用程序,我需要使用 UUID 作为 主键 对于我的 table ,什么是最好的 gem ,工作的插件。我也想知道是否可以在事件记录 考虑到我使用 UUID 的情况,不使用 polymorphicable_type 列的多态关系。
我创建了一个演示 http://github.com/boriscy/uuidrails3使用 UUID 作为键的,您应该检查 lib/中的模块 UUIDHelper 以及所有迁移。不需要在数据库中添加主键,只需要一个索引,因为主键验证字段的唯一性,但我们不需要 UUID。
最佳答案
把 this file在 lib 目录中,并将其添加为初始化程序:
class ActiveRecord::Base
set_primary_key :uuid
before_create :set_uuid
def set_uuid
self.uuid = UUID.generate(:compact)
end
end
至于关系,vlad 是正确的,ActiveRecord 需要知道记录在哪个表中才能找到它。如果你想要这种功能,试试 MongoMapper 之类的东西。
关于ruby-on-rails - 在 Rails 和多态关系中使用 UUID 作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654533/