我剛剛構建了我的第一個rails應用程序,現在我遇到了問題。
我有一個應用程序佈局,其中包括一個頁眉和一個頁腳(當然還有內容)。現在我在一個視圖中彈出一個窗口(我使用Facebox),除非我不想在通過ajax加載的頁面中顯示頁腳。在URL中禁用某些佈局部分
我不知道我怎麼能做到這一點......有沒有辦法,我可以添加這樣的選項到URL?
如果你能給我一個想法如何解決這個問題,我會非常高興。
我剛剛構建了我的第一個rails應用程序,現在我遇到了問題。
我有一個應用程序佈局,其中包括一個頁眉和一個頁腳(當然還有內容)。現在我在一個視圖中彈出一個窗口(我使用Facebox),除非我不想在通過ajax加載的頁面中顯示頁腳。在URL中禁用某些佈局部分
我不知道我怎麼能做到這一點......有沒有辦法,我可以添加這樣的選項到URL?
如果你能給我一個想法如何解決這個問題,我會非常高興。
你需要更改被彈出顯示內部頁面佈局打開彈出
@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
你可以做,在佈局
<%= render 'layouts/footer' unless @popup_displayed %>
這可以工作,但我不知道如何從客戶端設置'@ popup_displayed'。我可以將參數添加到**所有**路線或類似的東西,這樣這將是一個選項的網址? – evotopid
這聽起來不錯,但是也可以以某種方式在URL中設置佈局嗎? (我正在通過AJAX加載其他頁面) – evotopid
添加了一些解釋。 – dimuch
謝謝。這完美的作品:) – evotopid