2015-10-13 161 views
0

在Rails應用程序(版本3.2)中,控制器必須根據特定操作中的不同條件使用條件佈局。現在用其他文件夾覆蓋佈局文件夾路徑

def index 
    if dp_allowed? 
    //use a different layout 
    else 
    //render diff layout 
    end 
    end 

,我試圖使用

layout :user_layout 
    def user_layout 
    if dp_allowed? 
     "file1" 
    else 
     "file2" 
    end 
    end 

上述代碼總是期望的佈局文件夾作爲其相對於佈局文件夾後的路徑。我怎麼可以用這樣的路徑app/views/containers/users/_user_detail.html.erb

編輯:

<div class="app-pane-header"> 
<div id="title" class="pane-title"> 
<%= yield :d_title %><%= yield :additional_title %></div> 
<%= yield :details %> 

這是在我的情況的文件1說,它完美的作品,如果我只是用

layout 'file1' 
+0

看起來像一個部分。你確定你不只是想要'render:partial'嗎? 'render:partial'不會使用佈局,只會使用該部分作爲模板。 –

+0

@MaxWilliams不,我明白了。我想像佈局一樣使用它。請找到包含佈局文件代碼的更新問題 – Bijendra

回答

0

你可以傳遞絕對路徑到您的佈局。最好相對於您的Rails.root文件夾執行此操作,以便在本地和生產環境中使用。例如

layout File.join(Rails.root, "app/views/containers/users/_user_detail.html.erb")