2011-03-15 10 views
6

me gustaría producir este enlace:¿Cómo convierto <% = link_to "Upgrade",: settings,: class => "button"%> a un bloque en Rails 3?

<a href="/settings" class="button"><span class="magnifier icon"></span>Search</a> 

Así que por lo que yo entiendo que tengo que convertir

<%= link_to "Upgrade", :settings, :class => "button" %> 

Para un bloque, pero cuando hago esto:

<%= link_to "Upgrade", :settings, :class => "button" do %> 
    <span class="magnifier icon">Search</span> 
<% end %> 

me da el siguiente error:

undefined method `stringify_keys' for :settings:Symbol 

Sin embargo, cuando lo hago: <%= link_to "Upgrade", :settings, :class => "button" %> funciona perfectamente.

¿Cómo convierto esto en un bloque?

Respuesta

13

Al usar un bloque, el primer argumento ya no contiene el contenido del enlace. El bloque es responsable de eso. Por lo tanto, cree que "Upgrade" es el destino de su enlace y :settings es su hash de opciones.

Quite "Upgrade" y póngalo en el bloque.

Cuestiones relacionadas