2010-08-15 72 views
0

從我與NHibernate的經驗來了,我不知道一個地圖(N)如何冬眠的組件類中的ActiveRecord洛爾活動記錄「組件」類

class Person < ActiveRecord::Base 
    #somehow get a :name attribute here 
end 

class Name 
    @fist_name 
    @last_name 
end 

這可怎麼用一個表做只(所以這是沒有1:1,但我希望有一個:在DB name_first_name列(或任何約定)

+0

你能解釋一下你到底想做什麼嗎? – Reactormonk 2010-08-15 21:58:10

回答

2

這就是composed_of

適合你呢?例如:。

class Person < ActiveRecord::Base 
    composed_of :name, :class_name => "Name", :mapping => 
      [ # database       ruby 
       %w[ first_name first_name ], 
       %w[ last_name last_name ] 
      ], 
end 

class Name 
    attr_accessor :first_name, :last_name 
end 

然後您必須添加兩個數據庫列(first_name,last_name)。

+0

非常感謝,這將做到這一點:) – Jan 2010-08-15 22:12:43