Birçok kayda sahip bir modelim var Painting
. Hepsini yazdırıyorum ve her biri için jQuery eklemek istiyorum, böylece her bir Resmin üzerine tıklamak, Resmin büyük bir versiyonuna sahip bir kısmi sunacak.Bir kısayolun farklı sürümlerini, tıklattığım bir bloktaki öğeye göre nasıl oluşturabilirim?
<div id="viewer"></div>
<% Painting.all.each_with_index do |painting, index| %>
<%= image_tag(painting.path, id:"painting"+index%>
<% @painting = painting %>
<script type="text/javascript">
$("#painting<%=index%>").click(function() {
$("#viewer").html("<%= escape_javascript(render 'partial') %>");
});
</script>
<%end%>
_partial.html.erb
<%= image_tag(@painting.path, class:"large-painting") %>
<!-- more code -->
sorundur, değer @painting
her döngü ile sıfırlanır ve sonunda son Resim eşittir. Hangi resme tıkladığım önemli değil, sonuncusu her zaman kısmi olarak işlenen olan olacaktır.
Her biri için ayrı bir jQuery yazmadan, Resminin üzerine tıklattığım Resme tekabül eden bir şekilde yazılmasını sağlamanın bir yolu var mı?
Neden boyama için boyama yapıyorsunuz? Sadece kısmi 'render' kısmi 'kısmına aktarın, resim yapın: resim' ve sonra 'boyama' değişkenini kısmi olarak kullanın. – ddgd