2012-04-17 19 views
6

Mam bookmarklet, który można załadować na dowolnej stronie internetowej.Pełny adres URL zasobu w pliku .js.erb Railsy

To działa tak;

  • ładunki http://my.example.com/assets/bookmarklet.js
  • obejmuje http://my.example.com/assets/bookmarklet.css

pliku CSS zostanie dodany do DOM poprzez bookmarklet.js, więc musi wiedzieć, gdzie to jest.

Mój kod jest następujący;

// assets/javascripts/bookmarklet.js.erb 

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

Ale bez względu na to, co próbuję to świadczy jak

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

muszę asset_path, aby powrócić do pełnego adresu URL. Ale asset_url nie istnieje i nie mogę znaleźć opcji do asset_path, która będzie poprzedzać bieżącą domenę.

Jakieś rozwiązanie?

Odpowiedz

8

Należy ustawić jawny host zasobu dla każdego środowiska. Na przykład:

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

to dokładnie to, dziękuję. –

+0

Czy to wymaga parametru 'only_path' do' asset_path'? – colllin

+0

@collindo Nie jestem tego świadomy - nie pamiętam, żeby go używać. – Thilo

Powiązane problemy