def insert_record(record, force = false, validate = true)
existance = first(:conditions => {:item_id => record.item_id})
existance ? existance.update_attribute(:quantity, existance.quantity.next) : super
end
end
Как-то так.
1 июля 2011 г. 15:05 пользователь a.ognevsky <a.ognevsky@gmail.com> написал:
--Имеется глупый вопрос, но я сначала сломал голову себе, а потом и всем окружающим.Предположим, что у нас есть пользователь и вещь. Пользователь может покупать вещь (это _не_ очередной 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
Комментариев нет:
Отправить комментарий