Может быть отпишется сюда, когда(если) проверит.
1 июля 2011 г. 21:54 пользователь Evgeny Sergeev <sal1982@list.ru> написал:
> ИМХО второй вариант хуже первого, так как сильнее сопротивляется внесению
> изменений.
>
> Женя Сергеев.
>
> 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
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "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
Комментариев нет:
Отправить комментарий