2012-04-19 13 views
9

Jak dodać vendor/assets/javascripts/mymountableengine lub vendor/assets/stylesheets/mymountableengine do ścieżek zasobów mojego aparatu montowalnego? Chcę móc wymagać plików z tych folderów w pliku application.js/application.css mojego aparatu montowanego w maszynie z kołami łańcuchowymi.Dodaj ścieżkę zasobu do silnika montowanego w szynie?

Szyny 3.2.2

Dzięki.

+0

AFAIK ścieżki do aktywów silnikowych są dodane domyślnie. [Ta odpowiedź] dostarcza nieco więcej informacji na ten temat. Czy próbowałeś już wymagać zasobów silnika w manifeście aplikacji? –

+0

Twój link jest uszkodzony =). Mam dostęp do zasobów w aplikacji/zasobach, ale ręcznie dodałem katalog dostawców i chcę uwzględnić go w ścieżkach. Nie dodałem aktywów silnika do manifestu mojej aplikacji, po prostu ładuję je za pomocą 'javascript_include_tag 'engine/application.js'''' - działa to świetnie i wszystkie zasoby w aplikacji' assets/assets' '', jednak gdy próbuję wymagać plików od '' 'sprzedawca/assets''''' 'engine/application.js''' pojawia się błąd, że plik nie istnieje. – Yeggeps

+0

Ach, przepraszam, miałem na myśli [tę odpowiedź] (http://stackoverflow.com/a/5877665/357743). –

Odpowiedz

8

Okazało się, że zostały już załadowane! Po prostu umieść je w niewłaściwym katalogu: engine/vendor/assets/javascripts/engine - umieszczenie ich w engine/vendor/assets/javascripts uczyniło ich wymaganymi. Dla innych, po prostu sprawdzić Rails.application.config.assets.paths aby sprawdzić, które ścieżki są ładowane, wierzę silniki wykorzystują rodzice zębatkami środowiska, tak aby dodać ścieżki wystarczy użyć Rails.application.config.assets.paths << "path/here"

+0

To doprowadzało mnie do szaleństwa i uruchamiania' konsoli rails', a następnie ' umieszcza Rails.application.config.assets.paths.join "\ n" "pomógł mi znaleźć, że domyślny folder dostawcy nie był dla mnie uwzględniony. Dzięki! – Jondlm

5

zrobić tak:

module MyEngine 
    class Engine < ::Rails::Engine 

    config.assets.paths << File.expand_path("../../assets/stylesheets", __FILE__) 
    config.assets.paths << File.expand_path("../../assets/javascripts", __FILE__) 
    config.assets.precompile += %w(my_engine.css) 

    end 
end 
+0

Uwaga: Pamiętaj, aby użyć << i nie + = tutaj. Począwszy od Rails 4.2 "+ =", przynajmniej z mojego doświadczenia, nie powiedzie się bezgłośnie i złamie twoją aplikację bez rzucania jakichkolwiek błędów. – engineerDave

+0

Tak, powinniśmy dodać elementy do tablicy, a nie ją zastąpić, z 'precompile' jest ok. –

Powiązane problemy