我想製作一個引擎。我的引擎可能是可安裝的或不是不重要。但我想使用我的主要應用程序佈局,如Devise來渲染引擎的視圖。這也很容易。如何使用Devise等應用程序佈局製作引擎?
但是!當我的應用程序的佈局和rails引擎的視圖模板呈現時,我得到了一個異常,因爲我在我的佈局中使用了url helper,但是這個url helpers在我的main_app中。所以我知道我可以在佈局文件中的所有url助手之前編寫一個main_app上下文,但我不想這樣做。 Devise正在以這種方式工作。例如,如果您查看會話/新視圖,則不必在應用程序佈局中編寫main_app.pages_url。但我不知道他們是如何做到的。我想知道它,並且我已經閱讀了我閱讀文檔的代碼,但是我什麼都沒發現。請有人告訴我他們是如何做到的。我該如何製作一個處理像Devise這樣的main_app url助手的引擎。謝謝。
這是你在找什麼? https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/url_helpers.rb – Novae
不,這不是。這些在main_app上下文中生成設計助手。我嘗試在應用程序佈局中使用主應用程序url助手。在這種情況下,我的常規rails引擎將引擎視圖文件和應用程序佈局文件放在一起沒有找到mainApp(但是main_app)的url helper方法。例如,我有一個圖層的應用程序,圖層中有一個菜單。我在菜單中使用了一些網址助手。之後我渲染引擎視圖。我的所有網址助手都使用main_app.example_path格式,但在每個MainApp助手之前不要求使用這個煩人的上下文。如何設計? –