這裏有太多的問題要正確回答它們。這是通過挖掘並試用它來爲你帶來回報的事情之一。隨着您深入瞭解,請回過頭來提出新的具體問題。
這是我最近在做這些時使用的一些資源。
在大多數情況下,你可以在你的應用程序目錄下的東西他們在哪裏。您還應該能夠將routes.rb
保存在config目錄中,但是如果某些路由與應用的路由相沖突,則可能會出現一些陷阱。
您可能希望創建一個generator
以創建具有引擎所需的所有表的遷移。可以創建其他生成器來覆蓋默認視圖和那種事情。
請創建一個使用您的寶石的測試應用程序。你遇到的許多問題都是確保你正確地加載引擎的依賴關係。當你正在開發中,編輯您的測試應用程序的Gemfile中直指向你的寶石的來源......是這樣的:
gem 'my-forum', :path => '~/work/my-forum'
命名空間
你至少應該命名錶/模型,所以你不會碰到命名衝突。看看你當前的論壇應用程序,我至少會在'forum_'前加上你所有的表格。例如,使用您的引擎的人很可能會有不同的型號,例如Category
...因此ForumCategory
將是更好的選擇。
絕對命名空間您在lib目錄中創建的任何類。
配置文件
你要保持你的routes.rb
config目錄。你也可能需要保留你的初始化器。任何應用程序特定的東西都可能需要移到其他地方。
公共文件
使用Rails 3.0.x,則可以保留樣式表和JavaScript的公共目錄。我認爲有一些代碼需要添加到您的Engine
類中...
initializer "static assets" do |app|
app.middleware.use ::ActionDispatch::Static, "#{root}/public"
end
謝謝!經過研究和嘗試,我確實設法縮小了我的問題清單。但是,有些東西我還沒有想出來。更新我的問題,請看看。 –
我做了一些補充,但是如果你需要更多的細節,你應該真的開始一個關於堆棧溢出的新問題。 –