我有一个div
,我想刷新它的内容而不重新加载整个页面。
我尝试了很多方法( AJAX 调用,javascript等),但我没有做到这一点。
我的div显示了ModelName.all
的全部内容。在这个特殊的div中,我们可以添加我使用的Model的新实体(通过表单)。
我显示这个div要感谢Rails的Partial View。
目前,我在用户提交表单时使用此方法:
$('#ArticlesDiv').html("<%= escape_javascript (render partial: 'articles') %>");
但是我的局部视图似乎没有最新的模型,因为在添加新实体之前,我看到了5个元素,而在添加新实体之后,我又看到了5个元素,出于测试的目的,我使用了javascript alert
,它显示ModelName.all.count
而且警报显示5
!但是当我查看我的数据库内容时(在警报之前),我可以看到6个元素!而且当我手动刷新我的页面时,div
显示6个元素。
代码解释:
主视图:
<div id="ArticlesDiv">
<%= render(:partial => "articles") %>
</div>
_文章(部分观点):
<script>
alert('<%=Article.all.count%>');
</script>
<% Article.all.each do |article|) %>
<strong><%= article.name %></strong><br />
<% end %>
我的目标是有一个流畅的界面,它不会重新加载整个页面的任何时候,你添加了其他文章。
3条答案
按热度按时间jgwigjjp1#
您可以将
div
的内容保存在部分文件中,然后使用URL(例如/divcontents
)仅加载内容。您可以使用.load()
刷新<div>
:hwamh0ep2#
尝试使用加载函数jQuery,你应该这样做:
超文本:
jQuery:
8iwquhpp3#