Вам не нужно передавать данные в представление, а затем выполнять рендеринг в JSON.Вы можете просто сделать это в своем контроллере:
render :json => tweets
Я думаю, что это идеальный вариант использования для официального плагина jQuery Templates .Основная функция, tmpl
, имеет множество замечательных примеров ее использования.
Я постараюсь быстро обобщить пример из их документации.По сути, вы помещаете шаблон HTML в теги script
, например:
<script id="movieTemplate" type="text/x-jquery-tmpl">
<li><b>${Name}</b> (${ReleaseYear})</li>
</script>
Затем вы получаете данные в объект JSON и передаете их в функцию tmpl
следующим образом:
// movies contains your JSON data
$("#movieTemplate").tmpl(movies).appendTo("#movieList");
В этом примере предполагается, что у вас есть элемент ul
с идентификатором movieList и он добавляет элемент li
в список для каждого фильма, найденного в переменной movies
.
Фильмыпеременная будет выглядеть примерно так:
var movies = [
{ Name: "The Red Violin", ReleaseYear: "1998" },
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" },
{ Name: "The Inheritance", ReleaseYear: "1976" }
];