2014-10-29 76 views
0

我正在嘗試爲沒有適配器的QuickBase開發Rails應用程序。我在網上查了QuickBase適配器,但它不能正常工作,因爲它是一個非常老的rails版本,作者告訴我他不再支持它。如何在rails 4中創建一個空的activerecord對象?

我希望能夠使用的Active Record和典型的Rails應用程序的相關概念,但干預和修改如何創建,更新和顯示操作工作。我創建了應用程序以成功創建新記錄。但是,當我希望能夠編輯記錄時,我首先修改了編輯操作以轉到我自己的數據庫並將數據轉換爲活動記錄對象。

創建一個空的活動記錄我說$ user = User.new 然後我用我的自定義數據庫中的數據填充所有屬性。但窗體仍然顯示創建用戶按鈕,而不是更新用戶按鈕。顯然,我想這是因爲堅持?方法返回false,因爲這是一個「新」對象。但我知道這不是一個新的。那麼,我如何影響@user對象來認爲它是一個持久的對象呢?

另外,有沒有一種方法可以創建空白的@user對象,而不需要新的功能?

我已經檢查了所有的地方,但無法找到如何做到這一點的任何線索。非常感謝你的幫助。

回答

0

你可以嘗試撥打@user = User.new後致電@user.disconnect!,這會使ActiveRecord不會嘗試寫入數據庫,但我不確定這會解決您的問題。

更大的問題是,你試圖將方釘成圓孔這裏。 ActiveRecord的全部要點是將連接抽象爲數據庫。所以沒有數據庫,有什麼意義?

我認爲你最好的解決方案是編寫你自己的QB適配器。它可能不像你想象的那麼困難,因爲你已經知道如何讀/寫數據庫。

您可以閱讀更多關於如何做到這一點的位置:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html

+0

感謝有關適配器的建議。我會嘗試斷開連接方法,看看如何。再次感謝您的回覆。 – siva 2014-10-31 16:07:49

相關問題