Имеется глупый вопрос, но я сначала сломал голову себе, а потом и всем окружающим.
Предположим, что у нас есть пользователь и вещь. Пользователь может покупать вещь (это _не_ очередной ebay, поэтому все намного проще). Ассоциация — has_many through.
user — user_item — item
На frontend нужно передавать данные о вещах пользователя в виде вещь1 (название, кол-во, цена), вещь2 (название, кол-во, цена). Отсюда вопрос, каким способом бы вы реализовали хранение этих вот вещей. Есть 2 варианта:
1. При покупке вещи в user_item добавлять новый элемент и проблем не знать. Если пользователь купил 20 раз одну и ту же вещь, то в связующей таблице будет 20 одинаковых записей.
2. Вариант, к которому я склоняюсь: хранить в связующей таблице некое поле num, в котором хранить кол-во купленных вещей. Таким образом, на каждую вещь будет только 1 запись и поле, указывающее на кол-во этих записей.
Ну и таки вопрос, каким образом лучше всего (правильнее, что ли), при добавлении новых элементов инкрементировать счетчик, а при удалении — декрементировать?
И второй вопрос, как в таком случае отображать все вещи пользователя с счетчиком (он ведь хранится в связующей таблице).
У кого-нибудь есть идеи? Спасибо!
--
--
Andrey Ognevsky
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Комментариев нет:
Отправить комментарий