【问题标题】:why my rails page always show html heads?为什么我的 Rails 页面总是显示 html 头?
【发布时间】:2012-03-09 09:13:58
【问题描述】:

在我的 data_feed 控制器和 bar 动作中,bar.html.erb 中只有一行:

[1,2,3,4]

请求http://localhost:3000/data_feed/bar 的预期输出只是我在上面写的一行。

但是,rails 帮助我在该页面中添加了一些 html 头,如下所示:

<!DOCTYPE html>
<html>
<head>
<title>Guustock</title>
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/charts.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/data_feed.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/show.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/charts.js?body=1" type="text/javascript"></script>

<script src="/assets/data_feed.js?body=1" type="text/javascript"></script>
<script src="/assets/show.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="lhHWCW82xtqQ8fmgBZemDggL2DGJe+4chXM8MY1LKvs=" name="csrf-token" />
</head>
<body>
[1,2,3,4]

如何避免 Rails 这样做? 谢谢!

环境: linux 薄荷 11.0 带有 rvm 的 ruby​​ 1.9.3 轨道 3.2.1

编辑:

其实我想把这个页面中的json格式数据作为ajax数据源提供。所以这些头不会有帮助,只会破坏数据。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可能在默认布局(位于 app/views/layouts/ 中的视图模板)内进行渲染。如果您想在没有布局的情况下呈现动作,请使用类似

    render :bar, :layout => false
    

    在适当的行动中。

    另请参阅:http://guides.rubyonrails.org/layouts_and_rendering.html

    编辑:

    请参阅上面链接的文档。对于 JSON 渲染,您可以直接从控制器中使用它:

    render :json => @product
    

    或者在你的情况下

    render :json => [1,2,3,4]
    

    您还可以使用 JSON 视图模板(您需要再次对其进行渲染)。为 json 使用 bar.html.erb 模板不仅如您所见的那样棘手,而且还会产生错误的内容类型标头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 2018-07-07
      • 2023-03-19
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      相关资源
      最近更新 更多