ruby-on-rails – 在Rails控制器操作中呈现html时模板缺少错误
我正在尝试使用render html:从控制器动作渲染原始html:
class SomeController < ApplicationController def raw_html render html: '<html><body>Some body text</body></html>' end end 但是,当我运行此控制器操作时,我收到“模板丢失”错误 我不想使用模板,只需渲染原始html. 我得到的错误是: 由SomeController#raw_html处理为HTML 我正在使用Rails 4.0.2 我究竟做错了什么? 解决方法
在Rails 4.1版本中,html选项被添加到render方法中.
查看有关此主题的讨论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选项,所以忽略了通过html选项传递的值,并且Rails开始在views目录中查找模板some_controller / raw_html. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |