Layout 使用登录布局呈现错误的头部
谁能告诉我Rails 4应用程序中的以下布局是如何可能的Layout 使用登录布局呈现错误的头部,layout,ruby-on-rails-4,render,Layout,Ruby On Rails 4,Render,谁能告诉我Rails 4应用程序中的以下布局是如何可能的 # app/views/layout/login.html.erb <!DOCTYPE html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <title>PIPPO</title> <meta content="
# app/views/layout/login.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>PIPPO</title>
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black-translucent" name="apple-mobile-web-app-status-bar-style">
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<link href="/assets/login.css" media="all" rel="stylesheet" />
<script src="/assets/login.js"></script>
<%= csrf_meta_tags %>
</head>
<body>
<div class="main-content">
<%= yield %>
</div>
</body>
</html>
单击
后生成以下HTML
皮波
我有什么遗漏吗?我花了两天时间想弄明白。
为什么它使用主布局中的头部而不是登录中的头部
谢谢你的帮助
更新-忘记提及我的日志文件状态:
布局/登录中的呈现会话/new.html.erb(1.4ms)
根据问题中给出的布局名称,即
app/views/layout.login.html.erb
这里有两个问题:
- 版面应放在
文件夹中app/views/layouts
- 文件名应该是
而不是login.html.erb
layout.login.html.erb
在您的情况下,Rails在
app/views/layouts
中找不到login.html.erb
,它呈现了默认布局app/views/layouts/application.html.erb
,这是一个打字错误。布局是app/views/layout/login.html.erb
,而且只有在我按下注销链接时,而不是直接在浏览器中输入时,才会显示错误的标题(正文是正确的)。
...
get 'login', to: 'sessions#new', as: 'login'
get 'logout', to: 'sessions#destroy', as: 'logout'
...
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>PIPPO</title>
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black-translucent" name="apple-mobile-web-app-status-bar-style">
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
<link href="/assets/application.css" media="all" rel="stylesheet" />
<script src="/assets/application.js"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="l9+umk+wjpXY4UFiKEeuQkGgMvjbbZ2uDxyJHowTJFo=" name="csrf-token" />
</head>
app/views/layout.login.html.erb