1

我有一个呈现部分的视图“edit.html.erb”。

<div id="exerciseslist"><%= render 'exerciseslist' %></div>

在“edit.js.erb”中,我有以下行,每次更新时都会重新加载部分内容。

$('#exerciseslist').html('<%= escape_javascript(render("exerciseslist")) %>');

部分是一个包含一堆项目的表格,包括每个项目的图像和一些按钮。局部变化的只是按钮。如果提交成功,按钮会切换状态,表明它已被添加。

它工作正常,问题是我不喜欢图像在请求发生时闪烁的方式,这些项目也在一个可滚动的部分内,每次都会失去它的状态。

有没有一种很好的方法来加载按钮的状态而不渲染完整的部分?或者有没有一种简单的方法来阻止客户端每次请求图像?

我做了一些阅读并找到了 pjax 和backbone.js,它们中的任何一个都是好方法还是有更简单的rails 方法来做到这一点?

谢谢,迈克

4

1 回答 1

0

如果没有看到代码,很难确定,但我认为仅使用 Rails 就可以完成。您可以编写一个 AJAX 请求来处理新数据的提交并在成功时,让回调更改按钮状态,而不是重新加载部分,而不是在提交时重新呈现exerciseslist部分。

于 2012-07-16T13:17:08.840 回答