Ruby on rails Rails引擎RouteProxy外部视图和控制器

Ruby on rails Rails引擎RouteProxy外部视图和控制器,ruby-on-rails,ruby,ruby-on-rails-3,routes,rails-engines,Ruby On Rails,Ruby,Ruby On Rails 3,Routes,Rails Engines,我试图在为不安全代码评估而设计的类中评估路由帮助器字符串。基本上我有一个类SafeEval,它将在沙盒类中计算string。我这样做是为了让路线助手在SafeEval工作 include ActionController::UrlFor include Rails.application.routes.url_helpers 除引擎路由代理外,所有ruote助手都在工作。在我的视图和控制器中,我可以调用blog.page_path(@page),但不能在SafeVal中调用blog.page_

我试图在为不安全代码评估而设计的类中评估路由帮助器字符串。基本上我有一个类SafeEval,它将在沙盒类中计算string。我这样做是为了让路线助手在SafeEval工作

include ActionController::UrlFor
include Rails.application.routes.url_helpers
除引擎路由代理外,所有ruote助手都在工作。在我的视图和控制器中,我可以调用blog.page_path(@page),但不能在SafeVal中调用blog.page_path-我得到的blog未定义。我查看了我的视图,博客是RouteProxy

所以我的问题是如何在视图/控制器之外的类中获取引擎路由代理


(SafeEvla不会进行大量的沙箱处理。您可以假设非常简单的结构:一个现在只在SafeEval类中运行eval(str)的方法。)

我认为在类中包含装入的帮助程序可以解决问题:

include Rails.application.routes.mounted_helpers

太神了在查阅了20篇关于如何将挂载的引擎路由包含到“主应用程序”的助手模块中的其他软件/博客文章/媒体文章后,我终于找到了这种未记录的方法。班希尔,你应该得到一枚奖章和一颗金星!