0

Rails のstylesheet_pathヘルパーをオーバーライドしようとしていますが、方法が見つかりません。モジュールを開いActionView::Helpers::AssetTagHelperてそこでオーバーライドすることはできません。Rails が新しいメソッドを取得しないためです。

おそらくモジュールが混在しているためだと思いますが、どうすれば回避できますか?

4

1 に答える 1

1

stylesheet_link_tag通常とは異なる結果になるようにこれを行っていますか?もしそうなら、ヘルパーでそれをオーバーライドしてください:)

または、本当に をオーバーライドしたい場合stylesheet_pathは、エイリアスも再定義する必要があります。不思議なことに、エイリアスはそのエイリアスを介してのみアクセスされます (Rails 2.3.2)。たとえば、これを入れるenvironment.rbとうまくいきました:

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

私は個人的にこのルートには行きませんが、必要な場合はうまくいくはずです:)

于 2009-05-23T18:12:16.677 に答える