[英]how to sync web sql database
我正在使用ruby on rails開發網站。 我希望我的網站可以離線使用。 為此,我正在使用Web SQL數據庫。 我想知道如何同步在線和離線數據庫。 離線數據庫由javascript創建。 這些是我嘗試過的幾件事。 為了顯示數據庫的內容,我將數據放入控制器中的ruby對象中,如圖所示
@contacts = Contact.order("contacts.position ASC")
我試圖在視圖文件中的javascript中訪問此對象,如下所示
<script type="text/javascript">
var js_obj = <%= @contacts.to_json %>;
</script>
這是正確的方法嗎? 我如何查看js_obj變量中的數據
我也會為definitley提供indexedDB的后備功能,因為更多的瀏覽器將實現它(即9,Chrome等)
我討厭內聯腳本。 話雖這么說,在使用脫機數據庫的情況下,通過返回.to_json的方法向控制器發出ajax請求本身是不可行的。 而不是使用javascript變量並假設您正在使用已棄用的Web SQL數據庫,因為它們當前(並且奇怪地)是離線db的最佳支持標准,所以我將在腳本中使用類似的內容(請原諒我可憐的sql,並保持介意其正在進行的工作)。 到目前為止,代碼無法正常工作,但我認為這個想法很合理。
有一個名為persistence.js( persistencejs.org )的項目,它是一個具有與數據庫無關的抽象的javascript對象數據庫映射器。 這樣,您不必將應用程序限制為WebSQL數據庫,例如,您還可以(使用相同的代碼)支持本地存儲的使用。
他們還具有一個名為persistence.sync的插件,該插件可將遠程數據庫與服務器數據庫同步。 他們有一個后端示例,但是是為node.js編寫的。 但是,您可以按照他們的說明為Rails制作一個。 Rails服務器端應該是這樣的 。
另外,如果您決定使用此庫,則應閱讀文檔中提到的限制:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.