Tôi có đá quý ruby, poirot, cho phép sử dụng các mẫu ria mép trong Rails. Trình xử lý mẫu mà tôi đã mở rộng từ ActionView :: Template :: Handler, tuy nhiên điều này dường như không được chấp nhận trong Rails 3.1.Rails 3.1 trình xử lý mẫu
Tôi đã xác thực lại trình xử lý để tuân thủ cảnh báo không dùng nữa. Trong khi làm điều này tôi bây giờ không thể vượt qua người dân địa phương, hoặc bối cảnh xem, để các mẫu. Tôi không thể tìm ra cách để làm việc này với 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
Trong mã của tôi ở trên cho trình xử lý tôi nhận được mẫu, ví dụ mẫu ActionView :: Mẫu. Nhưng tôi không chắc chắn làm thế nào để có được bối cảnh xem, mà nên bao gồm người dân địa phương vv
Ai đó có thể chỉ cho tôi đi đúng hướng không?