Общие Rails и представления JavaScript - PullRequest
8 голосов
/ 16 июня 2011

Я немного сбит с толку, почему это не более часто решаемая проблема, но здесь идет речь.

У меня есть приложение Rails, которое обычно генерирует мои представления. У меня динамическое содержимое на интерфейсе.

Я хочу сделать AJAX-вызов, вернуть JSON и заполнить динамические части приложения. Для этого я бы использовал библиотеку шаблонов JS.

Я не хочу делать AJAX-вызов, чтобы Rails обработал представление и отправил весь HTML обратно. Я хочу, чтобы ответом был JSON, поэтому сократите время обработки и передачи.

Проблема в том, что динамически генерируемый HTML-код - это тот же HTML-код, который статически генерируется при загрузке страницы Rails (подумайте о разбиении на страницы AJAX). HTML, естественно, в моих файлах ERB. Но когда я генерирую больше контента (скажем, страница 2), я, очевидно, не могу получить доступ к файлам ERB, и мне нужно продублировать HTML в файле шаблона JavaScript.

Существует ли решение, позволяющее мне делиться своими взглядами между Rails и JS? (Я понимаю, что немного неудобно пытаться смешивать ERB с рендерингом JS ... циклы, условия и т. Д.)

Люди обычно соглашаются на рендеринг HTML и отправку его по проводам? Или они неуклюже выполняют JavaScript при загрузке страницы для рендеринга с использованием шаблонов JS?

1 Ответ

3 голосов
/ 22 июня 2011

Я сталкивался с той же проблемой в прошлом.Я смог решить это с помощью Усов: http://mustache.github.com/ В то время не было простого способа установить усы с помощью рельсов, поэтому мне пришлось что-то кодировать вместе.Похоже, теперь для этого есть библиотека: https://github.com/goodmike/mustache_rails3

Обновление: похоже, что теперь есть замечательная жемчужина для выполнения, которая называется stache: https://github.com/agoragames/stache

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