2013-04-11 57 views
0

我要創建兩個型號幾乎相同的結構。但我想保留兩個不同的表中的數據集。這是可能的活動記錄?導軌一個基類,兩款車型和兩個數據庫表

的原因不同的表是因爲我想的是不返回任何結果纔有意義,如查詢「沒有主動模型與性能的存在......」,或「沒有非活動模式與性質存在... 「

此外,類表現幾乎相同,所以一個抽象的或示範基地,重要的是保持其乾燥。但我想有明確命名的模型來工作,所以我知道我與「主動」或者「無效」數據的工作。

我想象的模型類會是這個樣子,但我不太清楚如何有模型引用不同的表。這可能嗎?

class BaseModel < ActiveRecord::Base 
    attr_accessible :foo, :bar, 

end 

class ActiveModel < BaseModel 
    # This class gets its data from table :active_models 

end 

class InactiveModel < BaseModel 
    # This class gets its data from table :inactive_models 

end 

回答

2

您可以使用ActiveRecord::Base.table_name=

或者,如果您的模型名稱適當,則可以使用ActiveRecord::Base.table_name_prefix=ActiveRecord::Base.table_name_suffix=

class BaseModel < ActiveRecord::Base 
end 

class ActiveModel < BaseModel 
    # This class gets its data from table :active_models 
    self.table_name = 'active_models' 
end 

class InactiveModel < BaseModel 
    # This class gets its data from table :inactive_models 
    self.table_name = 'inactive_models' 
end 
+0

謝謝!這比我想象的要容易。 –