用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>
它的渲染功能创建如下:
<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,阅读Rails3和RJS,了解如何通过javascript触发一些内容更新。
总体思路是
- 渲染初始整页
- 触发ajax调用(一段时间后或通过手动用户请求)以向rails应用程序发出请求
- 处理该请求并使用javascript脚本进行响应(脚本内容应包含所有功能和内容以替换您想要的内容)
可以在服务器和客户端之间共享模板。其中一个允许这样做的库被称为"胡子"。
但如果这是你唯一需要的情况,我也会选择RJS方法。
我不是用AJAX的方式进行渲染,而是在页面上进行更新。谢谢你的回答,但我没有用这些。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 我如何在疯狂商业的index.html.erb中制作一个全宽滑块
- 在视图中包含一个包含 ERB 的 Coffeescript 文件
- 如何设置<一个标题=“">用于erb
- 用javascript在rails中呈现一个html.erb
- 需要从erb生成一个非常特定的html来让javascript工作
- . js.Erb文件只有一个条件是有效的
- 轨道:从另一个控制器呈现 .js.erb
- 我如何写一个jquery js.Erb为link_to同时提供HTML和ruby输出:remote =>在rails 3