Mam rubinowy klejnot, poirot, który umożliwia korzystanie z szablonów wąsów w Railsach. Obsługiwany szablon obsługiwałam od ActionView :: Template :: Handler, jednak wydaje się on być przestarzały w Rails 3.1.Handler szablonów Rails 3.1
Ponownie przeanalizowałem program obsługi, aby zachować zgodność z ostrzeżeniami o wycofaniu. W ten sposób nie jestem teraz w stanie przekazać do szablonu lokalnego lub kontekstu widoku. Nie mogę się dowiedzieć, jak to działa z Rails 3.1.
module Poirot
class Handler
attr_reader :template
def initialize(template)
@template = template
end
def self.call(template, *args)
self.new(template).call
end
def call
view_path = "#{template.virtual_path}_view"
abs_view_path = Rails.root.join('app/views', view_path)
view_class = begin
view_path.classify.constantize
rescue NameError => e
Poirot::View
end
"#{view_class}.new(self, '#{template.source.gsub(/'/, "\\\\'")}').render.html_safe"
end
end
end
W moim kodu powyżej do obsługi I przejdzie szablon, który jest instancją actionView :: Template. Ale nie jestem pewien, jak uzyskać kontekst widoku, który powinien obejmować miejscowych itp.
Czy ktoś może wskazać mi właściwy kierunek?