2010-11-24 77 views
0

所以我有一個現有的數據庫,我試圖通過ActiveRecord來操縱。所有列,表和數據庫名稱都是駱駝形的,即。 myColumnOne等等。這並不是真正的問題,除了當我試圖定義表之間的關聯時,我無法讓Rails接受並且僅僅爲外鍵名保留我的輸入。Rails中的駱駝式外鍵名稱

例如:我試圖定義一個表名爲cableModems和一張桌子叫cmModels,其中 CableModem的HAS_ONE之間的關聯:cmModel,:foreign_key => 「cmModelId」

的Rails似乎想說foreign_key實際上是cm_model_id。即使我按照上面顯示的方式輸入它。

我的問題是這樣的:有什麼辦法讓Rails接受外殼?或者我需要去解決這個問題,而沒有關聯?

非常感謝!

回答

0

在深入挖掘Ruby on Rails API文檔以追蹤has_one的執行路徑後,很快就很清楚,沒有快速簡單的方法來防止自動脫機。使用命名範圍和一個或兩個自定義方法,您應該能夠相當容易地複製has_one的功能,因此我建議先前關聯該關聯,並可能將其作爲Rails Lighthouse上的票證提交。

+0

對不起,花了這麼久才找回來。這是完全準確的。我只寫了幾個簡單的方法,完全繞過幫手,現在找到了。謝謝你的幫助 – 2010-12-13 04:35:03

0

數據庫是否真的依賴於案例?那豈不是隻是工作,如果你寫

has_one :cm_model, :foreign_key => "cmmodelid" 

我也會讓你寫的類如下:

class CableModem < ActiveRecord::Base 
    set_table_name "cableModems" 
    set_primary_key "cableModemId" 
end 

是否幫助以任何方式?