Передача данных в javascript при помощи gon и jbuilder в Rails

Порой возникают задачи в которых нужно передать данные из сервеного кода в javascript.

Я уже писал о варианте решения данной задачи на PHP для фреймворка Yii, а сейчас пришла очередь Ruby on Rails. Для этих целей уже существует вполне удобный гем gon и у него даже есть неплохая документация. Тем не менее при использовании данного гема возникают некоторые вопросы, на которые нет подробных ответов и инструкций, поэтому я решил поделиться своим опытом на примере простого приложения.

Реализация фильтрации по тегам в Yii и не только

Теггирование различных элементов очень часто встречается в разработке сайтов. Сами теги реализуются просто — это отдельная таблица с названиями тегов и таблица связки многие-ко-многим между тегами и какими-то сущностями. Однако реализация фильтрации по тегам — не такая уж простая задача. Фильтровать сущности по тегам как правило приходится одним из следующих вариантов:

  • выбрать все элементы без тегов
  • выбрать элементы, имеющие все указанные теги (и возможно, другие теги)
  • выбрать элементы, имеющие один или несколько из указанных тегов (и возможно, другие теги)

Рассмотрим каждый из этих случаев и приведем пример конкретной реализации фильтрации на Yii.