这是更多的实验 - 我知道我可以用--full做到这一点,但我想在应用程序中使用命名空间功能来避免冲突rails 3.1.1引擎 - 可安装引擎,是否可以访问父应用程序资产,默认布局?
这个想法是有一个主要的应用程序 - 处理认证,常见的物品,管理员屏幕等 然后创建引擎添加更多功能,例如
- CRM
- CMS
- 博客
- 维基
- 论坛
- 等
这些引擎我可以挑选我需要什么样的应用程序我建立。 这可能吗?
是否只是应用--mountable和--full选项的情况?
进行实验 - 会不会有任何问题,如果我使用完整的选项添加rspec的再简单添加
rails plugin new plugin_name --skip-test-unit --full --dummy-path=spec/dummy
和LIB \ PLUGIN_NAME \ engine.rb
module PluginName
class Engine < Rails::Engine
# this is added by rails when an engine is mountable
# to isolate the plugin and prevent name clashes
isolate_namespace PluginName
# one of the additions to make rspec work from command line for the plugin
config.generators do |g|
g.test_framework :rspec, :view_specs => false
end
end
end
我已经创建无论是 - full和--mountable引擎,并rspec最后工作的任何人阅读那里有一些伟大的文章(见下文),但想知道这样做的解决方案,我想创造的更广泛的影响
我仍在玩这个,并会张贴我的发现..
任何帮助/讨论将大规模赞赏。
请注意
- 为什么我要做到这一点 - 一次构建,多次使用...
- 我绝不会希望有一个非技术/客户端添加“插件/引擎” - 这是纯粹的娱乐点1
问题我有...
- 在顶级应用程序上运行服务器。只有在从引擎访问内容时,(我可以通过错误消息看到)我有一个路由问题(root_path未定义或设计路由缺失) - 父应用程序布局正在呈现,我可以在提取的错误源中看到它。进步,但没有雪茄!
有用的参考
- Engines vs Mountable Apps
- 3.1 engines with rspec
- testing rails 3 engines
- Listing Routes in a Mountable engine
我失去了一些东西明显大量的... ...如果我从父复制的路由引擎的路线,它工作正常进行安装......做同样的 - 完全按照上面指定的路线不起作用 – Spasm