我正在尝试显示来自codecademy的一个非常简单的应用程序,这是我在浏览器中遇到的错误:
PagesController#welcome缺少请求格式的模板:text/html
注意! 除非另有说明,否则 Rails 希望一个动作来呈现具有相同名称的模板, 包含在以其控制器命名的文件夹中。如果此控制器是响应 204(无内容(的 API, 不需要模板,那么尝试通过浏览器访问它时会发生此错误, 因为我们希望为此类请求呈现一个 HTML 模板。如果是这样的话,请继续。
我的目录
pages_controller.rb
class PagesController < ApplicationController
def welcome
end
end
路线.rb
Rails.application.routes.draw do
root ‘pages#welcome’
end
应用程序.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>
欢迎光临.html.erb
<h1>Hello</h1>
运行"rails 服务器"并在浏览器中收到上述错误。据我所知,文件位于正确的位置和正确的类型......导轨 v 6.0.1
显然,问题是我的项目位于一个文件夹中,该文件夹的标题中有一个空格。
将项目移动到其他文件夹后,它现在可以工作了。
这是在轨道 6.0.1 上
我删除了有问题的控制器和视图,并自动生成了控制器和视图
rails g controller controllername new create