gpt4 book ai didi

ruby-on-rails - 在 Rails Controller 操作中呈现 html 时模板丢失错误

转载 作者:行者123 更新时间:2023-12-03 15:57:35 25 4
gpt4 key购买 nike

我正在尝试使用 render html: 从 Controller 操作呈现原始 html:

class SomeController < ApplicationController
def raw_html
render html: '<html><body>Some body text</body></html>'
end
end

但是,当我运行此 Controller 操作时,出现“模板丢失”错误

我不想使用模板,只想渲染原始 html。

我得到的错误是:

由 SomeController#raw_html 处理为 HTML
参数: {}
ActionView::MissingTemplate(缺少模板 some_controller/raw_html
{:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder,
:raw, :ruby]}。搜索范围:*
"/Users/doved/source/sample_app/app/views"*
“/Users/doved/.rvm/gems/ruby-2.0.0-p353@syp/gems/chameleon-0.2.4/app/views”
* "/Users/doved/.rvm/gems/ruby-2.0.0-p353@syp/gems/kaminari-0.15.1/app/views"):
应用程序/ Controller /some_controller.rb:14:in raw_html'

lib/middleware/cors_middleware.rb:8:in
称呼'

我正在使用 Rails 4.0.2

我究竟做错了什么?

最佳答案

html选项已添加到 render Rails 4.1 中的方法版本。

查看关于此主题的讨论 on Github

如果您将 Rails 版本升级到 Rails 4.1那么你就可以将 html 呈现为

def raw_html
render html: '<html><body>Some body text</body></html>'.html_safe ## Add html_safe
end

当前版本 Rails 4.0.2 ,你需要使用
def raw_html
render text: '<html><body>Some body text</body></html>'
end

您收到错误消息: ActionView::MissingTemplate
因为目前 html render 不支持该选项所以传递的值 html选项被忽略,Rails 开始寻找模板 some_controller/raw_html在 View 目录中。

关于ruby-on-rails - 在 Rails Controller 操作中呈现 html 时模板丢失错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974361/

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