我正在开发一个带有评级系统的 Ruby on Rails 应用程序。到目前为止,评级工作正常。我也对它进行了 ajaxified 并且它有效。我还想在条形图中显示当前评级平均值,其长度对应于所有评级的平均值。
Bar的长度设置如下
var average = parseFloat( $(".rating_filled").attr("data-average") );
var avg_width = (average/5)*200;
$(".rating_filled").css("width", avg_width);
该值在 html 中传递,如下所示
<div class="rating_bar">
<div class="rating_filled" data-average="<%=@game.ratings.average(:value) %>"></div>
</div>
通过 ajax,我重新加载了包含此栏和其他统计信息的完整部分。除了酒吧,一切都会重新加载。一旦我提交评级,我就会得到当前的平均值,但条形图完全消失了。Firebug 指示栏本身接收最近提交的值,因此可以正常工作,但缺少图形部分。
所以我猜这是因为 javaScript 文件(定义图形长度的地方)没有通过 ajax 重新加载,因此根本不显示栏。
我不知道我是否只需将我的 jQuery 命令自定义为最新的,或者甚至在我的控制器中做一些事情,通过 Json 传递这些东西。
不知道大家能帮帮我吗?多谢!