【问题标题】:Rails 3.1 - Accessing Parent Application Models from Mountable EngineRails 3.1 - 从 Mountable Engine 访问父应用程序模型
【发布时间】:2012-04-03 15:00:23
【问题描述】:

我想创建一个处理用户身份验证的父应用程序。然后我想创建可以根据需要添加的各种可安装引擎(如博客、联系人目录等)。这意味着我需要从 Mountable Engine 访问用户身份验证数据(管理员权限等)。

我想知道如何(以及是否)这是可能的,因为很明显引擎模型可以在它所集成的父应用程序中访问,但反过来不行。

当这个问题被问到here 时,给出的答案显示了如何获取所有数据,而不是来自助手(如 current_user)的东西。

当被问到here 时,它似乎涵盖了命名空间,而不是如何访问函数和变量(除非我遗漏了什么)。

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 rails-engines


    【解决方案1】:

    根据设计,Mountable Engine 与其父级隔离。但是,理论上您可以使用 ActiveResource 等通过 REST API 公开部分父级。您还可以使用“完整引擎”,它充当一种插件而不是可安装的插件 - Rails 3.1: Engine vs. Mountable App

    【讨论】:

    • 我已经阅读了这些文章,并在您回答后再次阅读。你说得对,似乎“完整引擎”中的东西更“暴露”了,当然,我的引擎不是独立的应用程序。但是,将它们与自己的 javascripts 和 CSS 文件分开命名并被认为是独立的不是更直观吗?
    • 也许,但这似乎是一个见仁见智的问题。您可以使用带有命名空间路由的“完整引擎”方法完成类似的事情,并添加挂钩以在部署之前将迁移和资产(JS、CSS、图像)从引擎复制到父目录,作为 rake/capistrano 任务的一部分。流行的“狂欢”宝石可以做到这一点,它对我来说效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多