class SomeController < ApplicationController def raw_html render html: '<html><body>Some body text</body></html>' end end
但是,当我运行此控制器操作时,我收到“模板丢失”错误
我不想使用模板,只需渲染原始html.
我得到的错误是:
由SomeController#raw_html处理为HTML
参数:{}
ActionView :: MissingTemplate(缺少模板some_controller / raw_html
with {: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”):
app / controllers / some_controller.rb:14:in raw_html’
LIB /中间件/ cors_middleware.rb:8:门店”
我正在使用Rails 4.0.2
我究竟做错了什么?
解决方法
如果您将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选项,所以忽略了通过html选项传递的值,并且Rails开始在views目录中查找模板some_controller / raw_html.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。