ruby - pelicula - fahrenheit 451 ray bradbury
¿Cómo escapar de un guión "-" en un símbolo de Ruby? (4)
Estoy usando jquery-mobile con Ruby On Rails.
Quiero crear un enlace de botón que implica que data-role="button"
aparezca en el HTML generado.
He intentado:
<%= link_to "Play", game_play_path, :data-role => "button" %>
Pero luego, recibo un error
undefined local variable or method `role'' for #<#<Class:0x007fdc25668ee8>:0x007fdc25658610>
¿Hay alguna forma de escapar del tablero usando la notación :xxx
o debería usar la notación "xxx"
?
(Estoy de acuerdo en que es una pregunta estética, pero quiero que mi código sea coherente y no me gusten las excepciones)
Envuélvelo en comillas simples:
:''data-role'' => "button"
Si encuentra la sintaxis <%= link_to "Play", game_play_path, :"data-role" => "button" %>
feo porque usa la antigua sintaxis hash, otra forma de hacerlo implica el uso de la sintaxis de ruby 1.9 para hashes es hacer lo siguiente:
<%= link_to "Play", game_play_path, data: {role: "button"} %>
La imbricación hash genera el guión entre los datos y el papel en la salida html.
Tenga cuidado porque esto solo funciona con atributos de datos y algo, pero en su caso es una alternativa más placentera.
Además, si tiene más atributos de datos y algo, puede escribirlos también en el hash anidado:
<%= link_to "Play", game_play_path, data: {role: "button", other1: "value1", other2: "value2"} %>
Use comillas simples alrededor del nombre del símbolo, con el prefijo de dos puntos:
:''data-role'' => ''button''
Y aquí hay una buena referencia en símbolos:
http://www.troubleshooters.com/codecorn/ruby/symbols.htm#_What_do_symbols_look_like
<%= link_to "Play", game_play_path, :"data-role" => "button" %>