Datamapper Ruby如何添加Hook方法

时间:2012-02-25 17:50:44

标签: ruby datamapper

我有一个简单的标题和项目关联(1:1)。当我说

class Header 
include DataMapper::Resource
  property :id, Serial
  property :somedata
  has 1, :item
end

class Item
include DataMapper::Resource
  property :id, Serial
  property :name, String
  attr_accessor: full_name, String
  belongs_to :user
end
Header.get(1).item

我想有一个用于执行某些翻译的项目的钩子(比如对full_name进行初始化〜更新attr_accessor字段)。这必须推广,因为我不想在标题上执行前面的方法项。但钩子方法项目模型。因此,无论该项被调用,都会发生翻译/初始化。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我自己想通了。想要更新以防其他人可能有用。只需要为该属性定义一个方法。

def full_name
  "Mr"+full_name
end