我正在尝试从codecademy中显示一个非常简单的应用,这是我在浏览器中遇到的错误:
PagesController#welcome缺少用于请求格式的模板:text / html
注意! 除非另有说明,否则Rails期望有一个动作来渲染具有相同名称的模板, 包含在以其控制器命名的文件夹中。如果此控制器是响应为204(无内容)的API, 不需要模板,那么尝试通过浏览器访问它时就会发生此错误, 因为我们希望为此类请求呈现HTML模板。如果是这样,请继续。
pages_controller.rb
class PagesController < ApplicationController
def welcome
end
end
routes.rb
Rails.application.routes.draw do
root ‘pages#welcome’
end
application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Portfolio</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,500,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
welcome.html.erb
<h1>Hello</h1>
运行“ rails服务器”并在我的浏览器中出现上述错误。据我所知,文件位于正确的位置且类型正确... Rails v 6.0.1
答案 0 :(得分:0)
显然,问题在于我的项目位于一个文件夹中,该文件夹的标题中有空格。
将项目移到另一个文件夹后,它现在可以工作了。
这在6.0.1上很重要