2012-02-22 28 views
0

至於建議的骨幹文檔,我爲我的收集原始數據時,HTML是我的Rails應用程序呈現:骨幹初步收集數據和後續提取

<script> 
MyCollection.reset(<%= @items.to_json %>) 
</script> 

現在,當用戶觸發特定的途徑,例如,她那張#search/cats,我再次讀取該集合,像這樣:

MyCollection.fetch({ data : { "query" : "cats" }}) 

的問題在於,當用戶回到過去,我怎麼再與初始DATAS重置Collection

回答

1

不要將該代碼放在一個塊中。它需要位於JavaScript文件中,方法可以隨時調用。

儘管如此,您仍然需要從HTML文件中獲取數據。爲此,您需要創建一個可以從腳本塊傳遞數據的對象。然後,你可以存儲數據,並在以後使用,在需要的時候:


<script src="/js/myApp.js"></script> 
<script> 
    MyApp.initialize(); 
</script> 

你「myApp.js」文件將包含對象定義的「初始化」的方法:


MyApp = { 
    initialize: function(data){ 
    this.data = data; 
    this.resetCollection(); 
    }, 

    resetCollection: function(){ 
    MyCollection.reset(this.data); 
    } 
}; 

現在只要您需要的話,您可以撥打MyApp.resetCollection並使用您開始使用的數據重置收藏。

當然,有幾十種方法來實現這一點。我只向你展示最基本的版本。

+0

謝謝,它是有道理的。因此,解決方案是使用: ''然後在控制器中的某處引用'this.initialData',isnt'it? – 2012-02-22 13:41:57

+0

我會編輯您的回覆以更好地匹配您提出的解決方案。 – 2012-02-22 13:43:57

+0

right - edited :) – 2012-02-22 14:06:32