這是更多的實驗 - 我知道我可以用--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