我有一个'edit.html.erb'视图,它会呈现部分。
<div id="exerciseslist"><%= render 'exerciseslist' %></div>
在'edit.js.erb'里面,我有以下行,每次更新内容时都会重新加载部分内容。
$('#exerciseslist').html('<%= escape_javascript(render("exerciseslist")) %>');
部分是一个包含大量项目的表格,包括每个项目的图像和一些按钮。所有改变的部分都是按钮。如果提交成功,则按钮切换指示已添加的状态。
它工作正常,问题是我不喜欢图像在请求发生时闪烁的方式,项目也在可滚动部分内部,每次都会丢失它的状态。
有没有一种很好的方法来加载按钮的状态而不渲染完整的部分?或者是否有一种简单的方法可以阻止客户端每次请求图像?
我做了一些阅读并发现了pjax和backbone.js,它们中的任何一种都是好方法,还是有更简单的方法来做到这一点?
谢谢, 麦克
答案 0 :(得分:0)
没有看到代码,很难确定,但我认为它可以用Rails完成。您可以编写一个AJAX请求来处理新数据的提交,而不是在提交时重新呈现exerciseslist
部分,而是在回调时更改按钮状态,而不是重新加载部分。