внесению изменений.
Женя Сергеев.
01.07.2011 19:05, a.ognevsky пишет:
> Имеется глупый вопрос, но я сначала сломал голову себе, а потом и всем
> окружающим.
>
> Предположим, что у нас есть пользователь и вещь. Пользователь может
> покупать вещь (это _не_ очередной 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
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "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
Комментариев нет:
Отправить комментарий