Rails XML builder шаблоны / групповые данные

Мой результат SQL @products=Product.find_by_sql() дает мне это (

ID  title,     user_name
1   Product1   Xpeper
1   Product1   John
2   Product2   Xpeper

Как я могу построить XML в моем файле представления xml.builder, чтобы исходный код был таким

<products>
    <product>
      <id>1</id>
      <title>Product1</title>
      <users>
        <user>Xpeper</user>
        <user>John</user>
      </users>
    </product>
    <product>
      <id>2</id>
      <title>Product2</title>
      <users>
        <user>Xpeper</user>
      </users>
    </product>
</products>

Я хотел бы сгруппировать товары по продуктам. Спасибо!

1 ответ

Один из способов сделать это - разделить пользователя и продукт, установив между ними связь "многие ко многим" (has_and_belongs_to_many). Я представляю, что у вас уже есть отдельная модель пользователей.

С помощью отношения has_and_belongs_to_many вы сможете получить доступ к пользователям, у которых есть продукт, в @product.users (массив).

Другие вопросы по тегам