Я запустил следующий код в фоновом режиме. он создает контроллер в вашем коде, который затем отображает представления соответствующим образом и заполняет кэши.
cache_controller = PageController.new
cache_controller.response = Hashie::Mash.new({"content_type"=>"text/js"})
cache_controller.request = Hashie::Mash.new({"action"=>"show", "negotiate_mime"=>"js", "content_type"=>"application/x-www-form-urlencoded", "get?" => true})
cache_controller.params = {id: 1}
cache_controller.action_name = 'show'
cache_controller.show # this is the method on controller you want to call.
В моем случае я нажимал на файл js.erb, поэтому часть этого контента может не понадобиться в вашем примере.