0

Sprockets가 Rails에서 생성하는 경로를 무시하려고합니다. 특히 Sass Helper의 경우입니다. 어디 선가 다양한 솔루션을 사용하여 왔레일에서 스프로킷 경로를 오버라이드하는 방법은 무엇입니까?

:

A)

B)는 ActionView :: AssetPaths을 무시 뷰에 IMAGE_TAG 도우미를 오버라이드 (override)는 사스의 새로운 모듈을 포함 기능

c)를 계산 :: Script :: Functions

그러나이 모든 작업을 수행하는 것보다 훨씬 간단한 방법이 있어야합니다. 스프로킷 경로를 장식하는 좋은 방법이 있나요? ? 나는 우리가 맞춤 URL과 포장재를 가지고 있기 때문에 이것을하고있다.

답변

2

그래서 결국 나는 Rails.application.assets.context_class.class_eval이 나를 asset_path을 변경할 수 있도록 할 것을 제안 것 같다 톱니에 묻혀이 메시지/context.rb

Custom asset_path helper is not implemented 
Extend your environment context with a custom method. 

environment.context_class.class_eval do 
    def asset_path(path, options = {}) 
    end 
end 

발견 처리기가 있지만 작동하지 않는 것 같습니다. 그게 내 잘못인지 아닌지 잘 모르겠다. 나는 이것에 대한 예를 찾을 수 없었다. 나는이 모든 세 가지가 필요하지 않습니다 의심

ActionView::AssetPaths.class_eval do 
    def compute_public_path(source, dir, options = {}) 
     my_transform(source) 
    end 
    end 

    Sprockets::Helpers::RailsHelper::AssetPaths.class_eval do 
    def compute_public_path(source, dir, options = {}) 
     my_transform(source) 
    end 
    end 

    ActionView::Helpers::AssetTagHelper::AssetPaths.class_eval do 
    def compute_public_path(source, dir, options = {}) 
     my_transform(source) 
    end 
    end 

,하지만 난 모르겠어요 :

현재이 작업을 얻을 내 해킹이있다. 그들의 톱니를 알고있는 누군가는 이것에 대하여 논평하고 싶습니까?