【问题标题】:Rails Engine RouteProxy outside View and Controller视图和控制器之外的 Rails 引擎 RouteProxy
【发布时间】:2012-05-14 14:01:14
【问题描述】:

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

include ActionController::UrlFor
include Rails.application.routes.url_helpers

所有 ruote 助手都在工作,除了引擎路由代理。在我的视图和控制器中,我可以调用 blog.page_path(@page) 但我不能在 SafeEval 中调用 blog.page_path - 我没有定义博客。我查看了我的视图,博客是 RouteProxy。

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

(SafeEvla 不做很多沙盒。你可以假设一个非常简单的结构:一个现在只在 SafeEval 类中运行 eval(str) 的方法。)

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 routes rails-engines


    【解决方案1】:

    我认为在你的类中包含挂载的助手可以解决问题:

    include Rails.application.routes.mounted_helpers
    

    【讨论】:

    • 太棒了!在咨询了其他 20 篇关于如何将已安装的引擎路由包含到“主应用程序”的 Helper 模块中的其他 SOF/博客文章/Medium 文章之后,我终于找到了这种有效的未记录方法。你应该得到一枚奖牌和一颗金星,@banhill!
    • 太棒了!!非常感谢您!
    猜你喜欢
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 2015-10-20
    相关资源
    最近更新 更多