我有一个页面上帖子的链接列表。单击时,该链接会触发一个灯箱,其中会显示部分帖子。
我的问题:
1.) 用户与灯箱交互并更改有关帖子的信息(收藏、取消收藏)。
2.) 然后用户关闭灯箱
3.) 用户通过再次单击链接重新打开灯箱。灯箱信息不会随着用户刚刚所做的更改而更新。
4.) 但如果用户按 Ctrl+R 刷新整个页面并点击灯箱,灯箱将反射(reflect)新的变化。
我用的Lightbox是FancyBox。
灯箱链接
<a class="fancyboxentry" rel="entries" href="#entryshow<%= thispost.id%>" onclick ="renderEntry<%=thispost.id%>()">
<%= image_tag(thispost.content_2)%>
</a>
用于保存已加载部分的虚拟 div。
<div id="entryshow<%= thispost.id %>"> </div>
渲染入口函数:
<script>
function renderEntry<%= thispost.id%>() {
$('#entryshow<%= thispost.id%>').html("<%=escape_javascript(render(:partial => 'posts/show', :locals => {:id => thispost.id})).html_safe %>");}
</script>
如何让局部重新呈现,这意味着每次单击链接时都从数据库中提取新信息(检查它是否被收藏、新评论等)?我当前的链接似乎只是缓存旧信息,直到页面刷新。
最佳答案
信息是否保存在数据库中? 如果是这样,那么主页将有该行的一些信息,然后它可能会在表格中发生变化,请在执行代码时检查所有步骤。
关于javascript - 在 Rails 中重新渲染重新加载部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322696/