Почему моя страница рельсов всегда показывает HTML-головы? - PullRequest
0 голосов
/ 09 марта 2012

в моем контроллере data_feed и панели действий есть только одна строка в bar.html.erb:

[1,2,3,4]

Мой ожидаемый результат при запросе http://localhost:3000/data_feed/bar - это всего лишь одна строка, которую я написал выше.

Тем не менее, рельсы помогают мне добавить некоторые 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]

Как я могу избежать того, чтобы рельсы делали это?Спасибо!

Env: linux mint 11.0 ruby ​​1.9.3 с направляющими rvm 3.2.1

РЕДАКТИРОВАТЬ:

На самом деле я хочу предоставить данные формата json на этой странице какисточник данных ajax.Таким образом, эти головы не будут полезны, но разбить данные.

1 Ответ

2 голосов
/ 09 марта 2012

Вы, вероятно, выполняете рендеринг в макете (шаблон представления, который находится в app / views / layouts /), который используется по умолчанию. Если вы хотите отобразить действие без макета, используйте что-то вроде

render :bar, :layout => false

в соответствующем действии.

Смотри также: http://guides.rubyonrails.org/layouts_and_rendering.html

EDIT:

Пожалуйста, смотрите документацию, указанную выше. Для рендеринга JSON вы можете использовать это прямо из контроллера:

render :json => @product

или в вашем случае

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

Вы также можете использовать шаблоны представления JSON (для которых вам нужно будет выполнить рендеринг снова). Как вы заметили, использование шаблона bar.html.erb для json не только сложно, но и приводит к неправильным заголовкам типов контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...