content_for Rails 4 未加载
content_for Rails 4 not loading
我的 application.html.erb
里有这个
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<%= stylesheet_link_tag "application","jquery.mobile-1.4.5" %>
<%= javascript_include_tag "application","jquery.mobile-1.4.5" %>
<%= csrf_meta_tags %>
<%= yield(:head) %>
</head>
我的 main/index.html.erb 文件有这个:
<%= content_for :head do %>
<style type="text/css">
body {
display: table;
position: relative;
width: 100%;
height: 100%;
background: url(/assets/main/background.jpg) no-repeat center center scroll;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
.center-wrapper{
margin: 0 auto;
text-align: center;
vertical-align: middle;
}
.ui-page {
background: transparent;
}
.ui-content{
background: transparent;
}
</style>
<% end %>
这是根 url 并且可以正确加载。在此之后,如果我导航到任何其他 url 说 vendors/index.html.erb,由于 content_for (main/index.[=28) 而生成 css =]) 不是清算。
我试图通过更改正文中使用的背景图像,在 vendors/index.html.erb 中添加一些 css。但是,它没有得到反映。它仍在使用因main/index中的content_for而生成的css。html.erb
问题是我使用的是 jquery-mobile,它的工作方式与 turbolinks 相同。它只是重新加载
中包含的页面部分
<div data-role="page">
.......
</div>
具有页面特定 css/js 的链接需要添加到页面的 head 标记中。为此,有必要在没有 ajax 的情况下调用页面并重新加载它。所以你需要使用:
rel="external", data-ajax="false" or target attributes
我的 application.html.erb
里有这个<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<%= stylesheet_link_tag "application","jquery.mobile-1.4.5" %>
<%= javascript_include_tag "application","jquery.mobile-1.4.5" %>
<%= csrf_meta_tags %>
<%= yield(:head) %>
</head>
我的 main/index.html.erb 文件有这个:
<%= content_for :head do %>
<style type="text/css">
body {
display: table;
position: relative;
width: 100%;
height: 100%;
background: url(/assets/main/background.jpg) no-repeat center center scroll;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
.center-wrapper{
margin: 0 auto;
text-align: center;
vertical-align: middle;
}
.ui-page {
background: transparent;
}
.ui-content{
background: transparent;
}
</style>
<% end %>
这是根 url 并且可以正确加载。在此之后,如果我导航到任何其他 url 说 vendors/index.html.erb,由于 content_for (main/index.[=28) 而生成 css =]) 不是清算。
我试图通过更改正文中使用的背景图像,在 vendors/index.html.erb 中添加一些 css。但是,它没有得到反映。它仍在使用因main/index中的content_for而生成的css。html.erb
问题是我使用的是 jquery-mobile,它的工作方式与 turbolinks 相同。它只是重新加载
中包含的页面部分<div data-role="page">
.......
</div>
具有页面特定 css/js 的链接需要添加到页面的 head 标记中。为此,有必要在没有 ajax 的情况下调用页面并重新加载它。所以你需要使用:
rel="external", data-ajax="false" or target attributes