如何根据导航栏中的页面标题更改车身标签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

回到顶部