2012-04-17 12 views
6

Tengo un bookmarklet que se puede cargar en cualquier sitio web.URL de activo completo en un archivo .js.erb de Rails

Funciona así;

  • cargas http://my.example.com/assets/bookmarklet.js
  • incluye http://my.example.com/assets/bookmarklet.css

el archivo CSS se añade a la dom través bookmarklet.js, por lo que necesita saber dónde se trata.

Mi código es el siguiente;

// assets/javascripts/bookmarklet.js.erb 

var config = { 
    stylesheetUrl: '<%= asset_path("bookmarklet.css", :only_path => false) %>' 
} 

Pero no importa lo que intento esto se renderiza como

var config = { 
    stylesheetUrl: '/assets/bookmarklet.css' 
} 

necesito el asset_path para devolver una dirección URL completa. Pero asset_url no existe, y no puedo encontrar una opción en asset_path que anteponga el dominio actual.

¿Alguna solución?

Respuesta

8

Debe configurar un host de activos explícito para cada entorno. Por ejemplo:

# development.rb 
config.action_controller.asset_host = "http://localhost:3000" 
+0

eso es exactamente, gracias. –

+0

¿Esto requiere el parámetro 'only_path' para' asset_path'? – colllin

+0

@collindo No es que yo sepa, no recuerdo haberlo usado. – Thilo

Cuestiones relacionadas