ruby on rails 3.1 - rails - link_to con target blank
link_to rails (2)
Soy nuevo en Rails 3, me gustaría agregar (: target => "_blank") a link_to helper a continuación
link_to "GOOGLE", ''http://www.google.com'', class: "btn btn-large btn-primary"
Pero me gustaría usar el application_helper para definir el método link_to.
- ¿Cómo defino el link_to methd en application_helper?
- ¿Cómo paso la clase: "btn btn-large btn-primary" en el método link_to?
Gracias por su asistencia...
¿Por qué querrías anular link_to
? Ya está definido en Rails, solo úselo así:
link_to "GOOGLE", "http://www.google.com", target: "_blank", class: "btn btn-large btn-primary"
Edición: OK, entendido. Recomiendo que no se invalide un método tan común, así que cree otro:
def link_to_blank(body, url_options = {}, html_options = {})
link_to(body, url_options, html_options.merge(target: "_blank"))
end
Deberia hacer el truco
Agregando a la respuesta de Anthony, esto se parece más a la implementación link_to
Rails, que incluye soporte para bloques y no pasa parámetros:
def link_to_blank(name = nil, options = nil, html_options = nil, &block)
target_blank = {target: "_blank"}
if block_given?
options ||= {}
options = options.merge(target_blank)
else
html_options ||= {}
html_options = html_options.merge(target_blank)
end
link_to(name, options, html_options, &block)
end