如何根据导航栏中的页面标题更改车身标签ID?
使用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也不喜欢这个。这是我的第一个单独滑轨项目,我知道这应该是可能的,但我无法找到正确的方法,任何帮助将不胜感激。
回答:
我不会给你推荐的body
标签...但你可以只是body
一个背景图像后使用wrapper
...它可以是这样的: -
你唯一需要是创建一个实例变量(@title
)使用下面
###application.html.erb <body>
<div class="<%= @title=="USER" ? 'user_wrapper' : 'default_wrapper' %>">
</div>
</body>
##css
.user_wrapper{
background: url(user_background.jpg) no-repeat center center fixed;
}
.default_wrapper{
background: url(default_background.jpg) no-repeat center center fixed;
}
希望它有助于.. :)
以上是 如何根据导航栏中的页面标题更改车身标签ID? 的全部内容, 来源链接: utcz.com/qa/259383.html