ActiveRecord是否允许自定义类型?

时间:2010-02-22 19:43:39

标签: ruby-on-rails ruby activerecord

我有一个场景,我试图在遗留的db2数据库上使用Rails进行概念验证,以获得购买它是一个可行的选择平台,供我们用于当前和未来的开发。

我们所有的表都有一个主键,它被定义为位数据的char,它是二进制数据。有没有什么办法可以定义一个映射器来将数据转换成字符串?

我是ruby / rails newb所以这可能是一个容易回答的问题,我一直无法找到它。

1 个答案:

答案 0 :(得分:1)

覆盖属性的setter和getter。

# Assumption:
# 1. UUID is a BINARY column in your DB2 table. 
# 2. UUID column should be handled as a string
#
class User < ActiveRecord::Base

  def UUID
     convert_to_str(attributes['UUID'])
  end  

  def UUID=(str)
     attributes['UUID'] = convert_to_bin(str)
  end  

  def convert_to_str bin
     # custom conversion 
  end

  def convert_to_bin str
     # custom conversion 
  end
end