Mam problem z potokiem aktywów, już mam zasób/kontroler nazywany zasobami. Zmieniłem opcję assets.prefix na "/ externals".Rails 3.1.1 - Asset Pipeline - asset.prefix nie działa z zasobem: aktywa
config.assets.prefix = '/externals'
Ten prosty dawki nie działają, chyba usunę:
resources: assets
wtedy wszystko działa zgodnie z oczekiwaniami.
Nie jestem pewien, jak napisać test, aby to udowodnić, ale stworzyłem aplikację do jej prezentacji.
https://github.com/nodrog/asset-pipeline-issue
Po uruchomieniu aplikacji i odwiedzić „/ produkty” wszystko będzie działać, a następnie przejść do pliku tras i zmienić zmienną create_bug true.
Zajrzeliśmy do https://github.com/rails/rails/blob/master/actionpack/lib/sprockets/helpers/rails_helper.rb, a następnie dodaliśmy debugger do metody asset_path.
Ta metoda nie jest wywoływana, jeśli masz tylko debugger w metodzie javascript_include_tag. I uruchom metodę (: asset_path) .source_location, mówi, że wywołuje metodę z domyślnych tras, a nie od pomocnika sprockets.
Każda pomoc będzie bardzo mile widziane ...
otwarty bilet w szyny latarni w tej sprawie. i przesłałem film, który rozwiązuje problem, ale prawdopodobnie nie w najlepszy sposób. https://github.com/rails/rails/issues/3643#issuecomment-2775938 – nodrog
Masz rację nodrog, to jest skomplikowany problem. Wpadłem na to, ponieważ pomocnicy w ogóle nie używali opcji config.assets.prefix (niezależnie od tego, czy istniały zasoby: zasoby w routes.rb), a kiedy to naprawiono, uznałem, że wszystko było w porządku. Niestety, narzędzia Sprockets nie używają ustawienia config, gdy zasoby są określone w config.rb. Czemu? Teraz popatrzę na twoją pracę. Próbowałem obejść go z ograniczeniami, a także kierować mój niestandardowy przedrostek do Sprockets, ale bez powodzenia. – Docunext