gpt4 book ai didi

ruby-on-rails - 教程中缺少模板的Rails上的ruby

转载 作者:行者123 更新时间:2023-12-03 16:06:14 25 4
gpt4 key购买 nike

我是Ruby on Rails开发人员的职业生涯的开始
我正在在线阅读一本名为《 Ruby on Rails教程(第5条)》的书
学习使用Rails进行Web开发”
我已按照书中的说明制作了一个“hello world”应用程序。

app/controllers/application_controller.rb


class ApplicationController < ActionController::Base

protect_from_forgery with: :exception

def hello
render text: "hello world!"
end

end

config/routes.rb


Rails.application.routes.draw do

root 'application#hello'

end

现在我收到那个错误

Missing template application/hello with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html,

:builder, :ruby, :coffee, :jbuilder]}. Searched in: app_path/app/views



我有

/app/view/layouts/application.html.erb



在我的项目中,从理论上讲应该是这样,不是吗?

那我想念什么吗?
我该如何解决?

最佳答案

Missing template application/hello with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html,:builder, :ruby, :coffee, :jbuilder]}. Searched in: app_path/app/views



除了@Sujan Adiga的答案外, render :text还会误导人们以为它将使用 text/plain MIME类型呈现内容。但是, render :text实际上直接设置响应主体,并继承默认的响应MIME类型,即 text/html。因此,Rails尝试查找 HTML模板,如果找不到则吐出该错误。

为了避免这种情况,您可以使用 content_type选项将MIME类型设置为 text/plain,也可以只使用 render :plain
render text: "hello world!", content_type: 'text/plain'

或者
render plain: "hello world!"

关于ruby-on-rails - 教程中缺少模板的Rails上的ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44873567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com