2014-10-27 11 views
0

我想創建一個應用程序,我有關於每個消息線程的某些數據,但想要在頁面上的不同位置顯示該數據。在我所有的消息面的名單,我有以下代碼:是否可以在rails/erb的每個循環內傳輸所有數據?

<div class="contactThreadList"> 
    <% @threads_data.each do |thread| %> 
     // summary data regarding the thread 
    <% end %> 
</div> 

然後,當一個線程的用戶點擊,更多的細節顯示在頁面的另一邊,有點像一個預覽窗格Gmail或雅虎。但是,我已經將所有的數據加載到頁面上,而不是使用局部來重新獲取數據。是否有可能在頁面的另一部分使用相同的線程?這是我想象中的代碼:

在頁面的另一部分沒有在contactThreadList DIV

<div class="previewPane"> 
    <p><%= selectedthread.message %></p> 
</div> 

回答

1

如果我理解正確的你。

要存儲加載的數據,你可以做像水木清華

<div class="contactThreadList"> 
    <% @threads_data.each do |thread| %> 
     <div id="thread_<%= thread.id %>" data-thread=<%= thread.to_json %> > 
      // summary data you want to display 
     </div> 
    <% end %> 
</div> 

然後在JS控制檯嘗試:

$("#thread_1").data("thread") 

它會被解析成JS對象。

但是如果你想很多的這樣的特徵,那麼最好使用一些像角,灰燼,骨幹:)

+0

JavaScript和JSON都沒有same.' $ JS框架(「#thread_1」)。數據( 「thread」)'會拋出一串線程對象而不是消息。 – Surya 2014-10-27 19:30:47

+0

@ User089247是的JavaScript和JSON是完全不同的實體,100%:)但是'$(「#thread_1」)。data(「thread」)'會返回javascript對象,我在發佈之前已經測試過了。所以'$(「#thread_1」)。data(「thread」)。message'會返回給你「消息」propery – 2014-10-27 19:52:33

+0

明天我會檢查一下,但是如果你測試過了,我會依賴你的話。但是,對於我來說,JavaScript還不能自動將字符串對象轉換爲JSON格式。 – Surya 2014-10-27 20:11:43

相關問題