2017-07-27 54 views
1

我們遇到了Rails ActionController :: Base.view_paths的問題。我們正在運行多租戶應用程序,併爲每個租戶提供不同的主題。現在我們有一個問題,即主題view_paths不會在每個請求上重置,而是在控制器中使用prepend_view_path時進行堆疊。跨請求共享Rails view_paths

@paths= 
    [ 
    ... 
    @path="/app/themes/theme2/views", 
    ... 
    @path="/app/themes/theme1/views", 
    ] 

我們在控制器使用

ActionController::Base.prepend_view_path "app/themes/#{Theme.current}/views/" 

您知道我們如何強制rails在每個請求上生成新的view_paths嗎?

回答

0

我們發現了這個問題。

我們在一個服務類(控制器之外)中使用了ApplicationController.renderer。在之外操作ApplicationController.view_paths,ApplicationController強制Rails將view_path傳遞到下一個請求。