加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails控制器操作中呈现html时模板缺少错误

发布时间:2020-12-17 02:40:33 所属栏目:百科 来源:网络整理
导读:我正在尝试使用render html:从控制器动作渲染原始html: class SomeController ApplicationController def raw_html render html: 'htmlbodySome body text/body/html' endend 但是,当我运行此控制器操作时,我收到“模板丢失”错误 我不想使用模板,只需渲染
我正在尝试使用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
参数:{}
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 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读