2012-02-25 1 views
1

私はヘッダーとアイテム(1:1)の単純な関連付けをしています。私はDatamapper Rubyフックメソッドの追加方法

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 

を言うとき、私は(attr_accessorのフィールドを更新〜FULL_NAMEためのいくつかの初期化を言う)、いくつかの変換を行うための項目のためのフックを持っていると思います。これは、ヘッダーの前のメソッドアイテムを行うことを望まないので、一般化されなければなりません。翻訳/初期化と呼ばれる項目が呼び出されます。

どうすればいいですか?

+0

したがって、 'attr_accessor'で生成された' .item'を呼び出すと、データに変換を適用しますか? – Linuxios

+0

私の質問 – coool

+0

を更新しました。メソッドとしてデータがrubyオブジェクトに存在するようにします。また、そのモデルに接続されたDBにデータが存在することを望んでいるのですか、別のデータストアがありますか? – Reactormonk

答えて

0

私はそれを自分で考えました。他の人に役立つかもしれない場合に備えて更新したいその属性のメソッドを定義するだけで済みます。

def full_name 
    "Mr"+full_name 
end 
関連する問題