2009-05-23 5 views
0

Ich habe versucht, Rails 'stylesheet_path Helfer zu überschreiben, aber ich habe keinen Weg gefunden, wie. Ich kann nicht einfach das Modul ActionView::Helpers::AssetTagHelper öffnen und es dort überschreiben, weil Rails meine neue Methode nicht aufnehmen wird.Rails: Wie man Stylesheet_path überschreibt

Ich weiß, es ist wahrscheinlich, weil das Modul eingemischt wird, also wie komme ich damit um?

Antwort

1

Machst du das so, dass stylesheet_link_tag etwas anderes als normal ergibt? Wenn ja, außer Kraft setzen nur dass in einem Helfer :)

Alternativ, wenn Sie wirklich stylesheet_path außer Kraft setzen wollen, müssen Sie auch den Alias ​​neu zu definieren, wie seltsamerweise nur über den Alias ​​(in Rails 2.3 zugegriffen wird. 2). Zum Beispiel habe ich dies in environment.rb und es funktionierte:

module ActionView 
    module Helpers 
    module AssetTagHelper 
     def stylesheet_path(source) 
     "x" 
     end 
     alias_method :path_to_stylesheet, :stylesheet_path 
    end 
    end 
end 

Ich persönlich würde nicht diesen Weg gehen, aber es sollte für Sie arbeiten, wenn Sie es brauchen :)