2014-01-14 11 views
3

如果當前頁面呈現404錯誤,Rails中是否存在向HTML標記添加類的方法。如果頁面有404狀態,rails會添加css類

在我的控制,如果用戶訪問了錯誤的網站它呈現在公衆錯誤文件,404錯誤這樣

else 
    render file: 'public/error', status: 404, formats: [:html] 
end 

我想一個類添加到我的頁腳,hidden,如果此頁面已呈現,則隱藏頁腳。我試過這個沒有運氣(但它是更多的猜測)

<%= "hidden" if current_page?(status: 404) %> 

任何建議?

+0

你有'400',不是'404'。如果你改變了,你的代碼是否工作? – TheDude

+0

哈哈好眼睛,但還是沒有運氣。我想出了一個辦法。我只是在該文件上創建了一個樣式表,並從樣式表中隱藏了頁腳。 :)謝謝你看看它,但!雖然我仍然對答案感到好奇,所以我會留下它,以防萬一有人知道答案,而不是我所做的訣竅 –

+0

在Rails 3中,如果controller.status ==可以執行'<%=「hidden」 404%>'但我懶得在4測試,所以我寫評論,而不是答案:) – mechanicalfish

回答

1

您可以使其更通用並設置@variable來告訴頁腳隱藏。所以如果以後你想要一個沒有頁腳的500頁,你可以使用相同的技巧。

控制器

else 
    @hide_footer = true 
    render file: 'public/error', status: 404, formats: [:html] 
end 

視圖

<%= "hidden" if @hide_footer %> 

而且你不需要改變任何東西。