Я работаю над приложением Ruby on Rails с рейтинговой системой. Рейтинг пока работает. Я также сделал это, и он работает. Я также хотел отобразить текущее среднее значение рейтинга в баре, длина которого соответствует среднему значению всех рейтингов.Ajaxified Average-Rating Bar не перезагружается в Rails
Длина Бара устанавливаются следующим образом
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="<%[email protected](:value) %>"></div>
</div>
Через AJAX Я перезагрузить полный Partial, который содержит этот бар и другие статистические данные. Все снова перезагружается, кроме бара. Как только я отправлю оценку, я получаю текущее среднее значение, но панель полностью исчезает. Firebug указал, что сам барабан получает последнее представленное значение, поэтому это отлично работает, но графическая часть отсутствует.
Поэтому я предполагаю, что это связано с тем, что файл javaScript (где определенная длина графической информации) не перезагружается через ajax и, следовательно, не отображает панель вообще.
Я не знаю, нужно ли мне настраивать команды jQuery, чтобы быть актуальными или даже что-то делать в моем контроллере, передавая материал через Json.
Я не знаю, могли бы вы, ребята, помочь мне? спасибо большое!
Как вы перегрузочные все? Вам нужно повторно запустить JS, который вы используете, чтобы сначала установить ширину. Если вы включаете те же строки в JS, где вы перезагружаете частичный, тогда вы будете в бизнесе. – RobHeaton
ну, вот в чем смысл ... это может быть очень просто, но как перезагрузить JS? или вы имеете в виду, что я должен встраивать javascript в части html.erb? не будет ли это оскорбительным для ненавязчивой концепции рельсов JS? –
Это зависит от того, как вы перезагружаете частичное - как вы перерисовываете частичную страницу? – RobHeaton