使用Ruby on Rails(5)我想使用if語句來根據我所呈現的視圖更改body標籤的ID。 具體而言,我只想在我的主頁上使用背景圖片,而不是使用其他圖片。我想讓它填滿屏幕,但是如果我把它放在頁面上,它就會自動出現邊框。所以我想將它附加到application.html.erb視圖中的body標籤,以便ID會告訴CSS加載背景圖片。但是我不能得到:標題告訴ERB它在那裏並且聲明是真實的。如何根據導航欄中的頁面標題更改車身標籤ID?
我使用的視圖頁面上提供像這樣:
<% provide(:title, "Home") %>
然後在application.html.erb頁我嘗試使用,如果把body標籤使用或不使用CSS語句背景圖片的ID基於提供的標題,如下所示:
<!DOCTYPE html>
<html>
<head>
<title><%= yield(:title) %></title>
...
</head>
<% if :title == "Home" %>
<body id="home-background">
<% else %>
<body>
<% end %>
但它似乎並不奏效。標題將「屈服」並顯示在地址欄中,但不會顯示在if語句中。我也試圖把yield(:title)放在一個變量中,rails也不喜歡這個。這是我的第一個單獨滑軌項目,我知道這應該是可能的,但我無法找到正確的方法,任何幫助將不勝感激。
一個注意,:標題是符號(始於一個冒號)。符號有點像字符串,但在內存中有不同的特性。要檢查:title ==「Home」就像是說「title」==「Home」 - 總是爲false。瞭解有關符號的更多信息:http://www.troubleshooters.com/codecorn/ruby/symbols.htm – Swards