У меня есть частичное, которое берет коллекцию, итерации через эту коллекцию, отображающую отдельные элементы.Рельсы, выполняющие частичное многократное умножение на основе размера коллекции
Вот код:
Частичное:
<% for point in @points %>
<div id="im" style="float:left;width:80px;height:90px;padding:5px;border:solid 1px #D3D3D3; margin:5px; ">
<img width="80" height="80" src="\uploaded\<%= point.id %>.gif" />
<%= link_to_remote " Delete", :url => { :action => "delete_point", :id => point.id }, :before => "Element.show('spinner')", :complete => "Element.hide('spinner')" %>
</div>
<% end %>
RJS от контроллера:
page.replace_html :points_partial, :partial => 'points', :collection=>@points
по какой-то причине парциальное оказывает количества элементов в коллекция. Если в коллекции есть десять элементов, то частичное отображается, а затем раз.
У этого парня была аналогичная проблема, но это было связано с макетами.
Render partial in Ruby on rails a collection is multiplying items
Это сводит меня с ума, потому что он должен быть простым, а все остальные обертоны работать без каких-либо затруднений.
Я бы с иной точки зрения, вероятно, что-то вроде этого: 'если @ points.nil? render: action => "index" end' – weltraumpirat
Ваше частичное имя должно быть _point.html.erb, и оно должно находиться в точках/ – weltraumpirat
Или ... вы можете просто использовать: object => @points, который пройдет массив в частичный .... либо или. – slotishtype