2012-04-17 11 views
6

Possiedo un bookmarklet che può essere caricato su qualsiasi sito Web.URL completo di asset in un file .js.erb di Rails

Funziona così;

  • carichi http://my.example.com/assets/bookmarklet.js
  • include http://my.example.com/assets/bookmarklet.css

il file CSS viene aggiunto al DOM tramite bookmarklet.js, quindi ha bisogno di sapere dove questo è.

Il mio codice è come segue;

// assets/javascripts/bookmarklet.js.erb 

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

Ma non importa quello che provo questo rende come

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

ho bisogno del asset_path di restituire un URL completo. Ma il numero asset_url non esiste e non riesco a trovare un'opzione a asset_path che anteporrà il dominio corrente.

Qualsiasi soluzione?

risposta

8

È necessario impostare un host asset esplicito per ogni ambiente. Ad esempio:

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

questo è esattamente, grazie. –

+0

Ciò richiede il parametro 'only_path' su' asset_path'? – colllin

+0

@collindo Non che io sappia - non ricordo di averlo usato. – Thilo

Problemi correlati