我创建了一个页面,其中一些部分是渲染的布局文件。但是我想用javascript代码再次渲染其中一个渲染部分。
我想再次呈现这些部分
<div id="dialog" title="Bookmark Folders" style="resize: both;">
<%=render "layouts/filetree.html.erb"%>
</div>
它的渲染功能创建了这个:
<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>
因为在某些执行后对“文件夹”进行了一些更改,我想再次渲染此部分以查看更新。
答案 0 :(得分:0)
你不应该尝试使用javascript 渲染 erb - 它不是如何完成的(更不用说你必须自己写一个erb解析器并最终调用服务器获取数据)。
另一方面,如果您正在询问如何使用Javasript 发布某些模板的渲染,然后用新的内容替换旧内容,那么...
观看此http://railscasts.com/episodes/205-unobtrusive-javascript, 阅读此Rails 3 and RJS以了解如何通过javascript触发某些内容更新。
总体思路是
答案 1 :(得分:0)
可以在服务器和客户端之间共享模板。允许此操作的一个库称为mustache。
但如果这是你需要它的唯一情况,我也会采用RJS方法。
答案 2 :(得分:0)
而不是渲染我做了AJAX方式并在页面上更新它。谢谢你的答案,但我没有使用任何这些。