我想創建一個定製的ActiveRecord :: Base,其中包含有關連接的其他元數據。我看到兩種方法可以解決這個問題:如何添加方法到ActiveRecord :: Base?
1.)從ActiveRecord :: Base繼承並在此子類中添加方法&字段。
2)概括了我自己的類
1內一個ActiveRecord :: Base的對象有各種各樣的問題與無法初始化覆蓋,奇怪的問題,它似乎不能有自定義的方法我已經添加等
undefined method `set_profile' for #<Class:0xf041f0>
2我一直無法弄清楚,由於與使用ActiveRecord :: Base.new問題
我試圖讓一個通用的ActiveRecord類,我可以動態建立連接& set_table_name on,(即沒有這個ActiveRecord :: Base代表的一個底層表),但我似乎無法找到一種方法來實現它。有任何想法嗎?
這工作:
class MyTable < ActiveRecord::Base
establish_connection $config['custom-db-config'];
set_table_name 'MY_TABLE'
end
,但我需要一個類,我可以呼籲反覆這些東西。
這工作馬上蝙蝠,謝謝。爲了給你更多的上下文,我正在寫一個數據倉庫的接口,所以我需要一個數據源Profile類,我可以使用database.yml中的配置和一個表名來初始化它。這工作正常(如我的原始示例),我試圖建立一個通用的類,而不是必須指定每個database_config /表作爲硬編碼的類。 如果您有任何其他(更好/更清潔)的方法來處理這種情況,我很樂意聽到它。 – sands