Rails: método no definido `stringify_keys '

80

Estoy intentando crear un bloque de código ruby ​​para cuando un usuario hace clic en el botón Atrás. Recibo el error "método indefinido` stringify_keys 'para "/ projects / 11 / steps / 4": String ". El código funciona cuando me deshago del do y el final. ¿Cómo agrego un do a un link_to?

    <%= link_to 'Back', project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>

    <% end %>
científico
fuente

Respuestas:

199

Si está utilizando la forma de bloque de link_tono puede tener contenido de texto (el bloque es su contenido de texto). Necesitarías hacer esto:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>

Normalmente, esto se utiliza cuando desea tener imágenes u otras etiquetas como contenido del enlace. Es puramente con fines de exhibición. El bloque no le dará una funcionalidad similar a la de JavaScript, así que asegúrese de que lo que está buscando aquí sea un comportamiento de visualización adicional :)

nzifnab
fuente
4
esto funciona, gracias! Aceptaré su respuesta una vez que stackoverflow me deje en 11 minutos ...
scientiffic
¡Gracias! Cuando lo usas, slimeso es tan extraño porque no tienes que abrir el bloque.
igorgue
16

Si pasa un bloque, no pase el nombre del enlace. Debiera ser:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>
Marlin Pierce
fuente