2012-06-01 28 views
0

我剛剛構建了我的第一個rails應用程序,現在我遇到了問題。
我有一個應用程序佈局,其中包括一個頁眉和一個頁腳(當然還有內容)。現在我在一個視圖中彈出一個窗口(我使用Facebox),除非我不想在通過ajax加載的頁面中顯示頁腳。在URL中禁用某些佈局部分

我不知道我怎麼能做到這一點......有沒有辦法,我可以添加這樣的選項到URL?
如果你能給我一個想法如何解決這個問題,我會非常高興。

回答

2

你需要更改被彈出顯示內部頁面佈局打開彈出

@popup_displayed = true 

時候呢?如果是這樣,請檢查render方法的:layout選項。您可以使用其他佈局,或根本沒有佈局。

您可以在您的控制器中執行此操作。無論是創建 「footerless」 頁新動作(不要忘記修改的routes.rb)

def show_footerless (user/1/show_footerless) 
    @user = User.find(params[:id]) 
    render "show", :layout => "footerless" # or :layout => nil 
end 

或者通過額外的參數去標準動作(/用戶/ 1?footerless = 1)

def show 
    @user = User.find(params[:id]) 
    if params[:footerless]==1 
    render "show", :layout => "footerless" # or :layout => nil 
    else 
    render "show" 
    end 
end 
+0

這聽起來不錯,但是也可以以某種方式在URL中設置佈局嗎? (我正在通過AJAX加載其他頁面) – evotopid

+0

添加了一些解釋。 – dimuch

+0

謝謝。這完美的作品:) – evotopid

0

你可以做,在佈局

<%= render 'layouts/footer' unless @popup_displayed %> 
+0

這可以工作,但我不知道如何從客戶端設置'@ popup_displayed'。我可以將參數添加到**所有**路線或類似的東西,這樣這將是一個選項的網址? – evotopid