修补ActiveRecord / postgres_ext以返回大写UUID

时间:2012-10-31 14:50:28

标签: ruby-on-rails ruby postgresql activerecord postgres-ext

我正在使用带有Rails / ActiveRecord的postgres_ext来将UUID存储为PostreSQL UUID数据类型。但在我的应用程序中,我正在比较uuids,并希望从模型返回的UUID是大写而不是小写。

如何修补ActiveRecord / postgres_ext以始终返回UUID的大写字符串表示?

1 个答案:

答案 0 :(得分:1)

我有一个问题,为什么要这样做,但是......

修补ActiveRecord可能不是最好的方法。如果您希望模型将UUID的大写版本返回到应用程序的其余部分,则可以在模型代码本身中执行此操作。这样,您就可以从应用程序的其余部分抽象出数据库层的细节。

您可以通过覆盖访问者代码来执行此操作。可能看起来像:

def uuid
  read_attribute(:uuid).upcase
end