Pregunta

Estoy haciendo un parcial en una colección como esta:

<%= render :partial => 'issues/issue', :collection => @issues %>

Dentro de la parcial, quiero rendir un elemento


a menos que sea el último de la colección. Podría, por supuesto, hacer que el parcial como esto

<%= render :partial => 'issues/issue', :collection => @issues, :locals => {:issue_count => @issues.length } %>

A continuación, poner esto en mi parcial

<% unless issue_counter + 1 == issue_count %>
  <hr />
<% end %>

pero no quiero tener que establecer explícitamente la llamada local en el render, y que la colección no siempre va a ser llamado @issues, así que no puedo acaba de acceder al varibale ejemplo. ¿Hay alguna manera de acceder a la longitud de la colección de forma automática dentro de la parcial a decir donde en la colección el objeto cae? Si no hay ya, es posible añadir esto de una manera tal que voy a conseguir de forma automática el issue_count local? Cualquier ayuda en esto será muy apreciada.

Thx,

-C

¿Fue útil?

Solución

Puede suministrar la opción :spacer_template a su llamada render :partial => X, :collection => Y. Vea la ActionController::Base Documenation para su uso.

Probablemente se siente torpe para especificar un archivo parcial de la totalidad de un simple elemento de <hr />, pero va esta ruta mantiene su intención clara y mantiene el elemento parcial libre del divisor de marcado no relacionado.

Otros consejos

Creo que se puede hacer que esto suceda si se modifica el método render_partial_collection.

Como nota al margen: Me parece que en su lugar debe usar CSS en una lista desordenada: Tengo la sensación de que va a insertar CR marcado el estilo en lugar de usarlo a objetos semánticamente separados en la colección (en la semántica de marcado ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top