簡體   English   中英

使用JavaScript在Rails中呈現html.erb

[英]rendering a html.erb in rails with javascript

我創建了一個頁面,頁面的某些部分是呈現的布局文件。 但是我想用javascript代碼再次渲染這些渲染部分之一。

我想再次渲染這些部分

<div id="dialog" title="Bookmark Folders" style="resize: both;">
        <%=render "layouts/filetree.html.erb"%>
</div>

它的render函數創建了這個:

<div id="accordion">
    <% @user.folders.each do |f| %> <h3 id="<%= f.folder_name%>" class="folderBar"><a href="#" class="folderName"><b id="folderName"><%= f.folder_name%></b> created <%=distance_of_time_in_words(f.created_at, Time.now)%> before</a></h3>
    <div class="<%= f.folder_name.delete(" ")%>">
        <%if f.docs.empty?%>
        <b>-No document currently!-</b>
        <%else%>
        <% f.docs.each do |r|%>
        <a href="<%=r.url%>" style = "color:#0066CC;"><%= r.title%></a><br/>
        <b><%=r.url%></b><br /> 
        <%= r.snippet%><hr/>
        <%end%>
        <%end%>
    </div>
    <%end%>
</div>

因為執行完某些步驟后,“文件夾”有了一些更改,所以我想再次渲染此部分以查看更新。

您不應該嘗試使用javascript 渲染 erb -並不是這樣完成的(更不用說您必須編寫自己的erb解析器並最終以任何方式調用服務器以獲取數據)。

另一方面,如果您要問如何使用Javasript 發布某些模板的渲染 ,然后用新模板替換舊內容,則...

觀看此http://railscasts.com/episodes/205-unobtrusive-javascript ,閱讀此Rails 3和RJS以了解如何通過javascript觸發某些內容更新的想法。

總體思路是

  1. 呈現初始整頁
  2. 觸發ajax調用(在一段時間后或通過手動用戶請求)以向Rails應用程序發出請求
  3. 處理該請求並使用javascript腳本進行響應(腳本內容應包含所有功能和內容以替換您想要的內容)

可以在服務器和客戶端之間共享模板。 一種允許這種情況的庫稱為mustache

但是,如果這是您唯一需要的情況,那么我也將使用RJS方法。

我沒有渲染,而是以AJAX方式進行了渲染,並在頁面上對其進行了更新。 感謝您的回答,但我沒有使用任何這些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM