In the .rhtml or in the controller

Hi list
I'v been wondering how to make an 'each' or a loop or something so I don't
have to write this code N times:

<div id="list">
  <div id="dragg0" class="green box"
style="position:absolute;top:190px;left:55px"><div class="handler"
id="handler0">Imagen 0</div><%= link_to_remote
image_tag("/generate/imagen/0"), :url => {:action=> "generate", :id => 0},
:update => "show_div" %></div>
  <%= draggable_element :dragg0, :handle => "'handler0'" %>
  <div id="dragg1" class="green box"
style="position:absolute;top:190px;left:240px"><div class="handler"
id="handler1">Imagen 1</div><%= link_to_remote
image_tag("/generate/imagen/1"), :url => {:action=> "generate", :id => 1},
:update => "show_div" %></div>
  <%= draggable_element :dragg1, :handle => "'handler1'" %>

# the same for N images

</div>
<span id="show_div"></span>

As you can see, it's just the same code but the Id of the image and a
position. But If I put this code in the controller, I can't create those
<%= %> tags, they won't be recognized. Or at least it didn't for me.

Any idea, shall I make it in the controller? it's there a way to do it in
the .rhtml?

I've come to this

    <% 0.upto(7) { |x| %>
      <div id="dragg<%= x %>" class="green box"
style="position:absolute;top:<%= 190+((x / 4)*195) %>px;left:<%= 55 + (x *
195) %>px"><div class="handler" id="handler<%= x %>">Imagen <%= x
%>&nbsp;<%= check_box_tag "cruzar"+x.to_s%></div><%= link_to_remote
image_tag("/generate/imagen/"+x.to_s), :url => {:action=> "generate", :id =>
x}, :update => "show_div" %></div>
      <%= draggable_element "dragg"+x.to_s, :handle => "'handler"+x.to_s+"'"
%>
    <% } %>

Someone out there might be needing this. :slight_smile: Just be careful with the use of
<%= x %> and simply 'x' (without the quotes) or x.to_s

···

On 2/17/08, macaco <macacoangel@gmail.com> wrote:

Hi list
I'v been wondering how to make an 'each' or a loop or something so I don't
have to write this code N times:

<div id="list">
  <div id="dragg0" class="green box"
style="position:absolute;top:190px;left:55px"><div class="handler"
id="handler0">Imagen 0</div><%= link_to_remote
image_tag("/generate/imagen/0"), :url => {:action=> "generate", :id => 0},
:update => "show_div" %></div>
  <%= draggable_element :dragg0, :handle => "'handler0'" %>
  <div id="dragg1" class="green box"
style="position:absolute;top:190px;left:240px"><div class="handler"
id="handler1">Imagen 1</div><%= link_to_remote
image_tag("/generate/imagen/1"), :url => {:action=> "generate", :id => 1},
:update => "show_div" %></div>
  <%= draggable_element :dragg1, :handle => "'handler1'" %>

# the same for N images

</div>
<span id="show_div"></span>

As you can see, it's just the same code but the Id of the image and a
position. But If I put this code in the controller, I can't create those
<%= %> tags, they won't be recognized. Or at least it didn't for me.

Any idea, shall I make it in the controller? it's there a way to do it in
the .rhtml?