Comments (4)
а разве не достаточно бана?
from board.
Думаю, что нет. По сути своей удаление и бан 2-а совершенно независимых состояния
При забаненном пользователе в принципе может быть доступен просмотр и покупка его объявлений. При удалении же ничего не должно светиться
При данной архитектуре заюзать поле state не представляется возможным, т.к. мы должны сохранять статус объявления до удаления как минимум объявления.
Есть 2-а варианта:
- Заюзать еще одну state-machine на другом поле, что приведет к усложнению кода
- Заюзать act-as-paranoid нет усложнения кода, есть магия.
Я за 2, ибо state-machine уже используется, а проект тестовый, хочется потрогать другие гемы.
Возражения?
from board.
В принципе у item и photo уже есть state - archived. Видимо не предполагалось сохранять state до удаления. Для детекта проданности товара до удаления есть поле sold_at. Так что возможно существующих state_machine в моделях будет достаточно.
from board.
на самом деле детект проданности можно и нужно осуществлять по корректно завершенным трнзакциям оплаты по одной простой причине -- у нас есть возможность после продажи выставить товар снова и он может быть продан несколько раз, sold_at указывает на дату последней продажи
я против использования state для удаления, потому что при восстановлении пользователя мы должны все вернуть как и было, но мы потеряем все состояния
from board.
Related Issues (20)
- Настроить мониторинг качества кода при помощи Code Climate HOT 1
- Хочу иметь поддержку языков
- Тэги не остаются в форме, если форма была заполнена не верно
- Раскидать все тесты по разным файлам
- Сделать поля id не null
- Прикрутить Foreigner
- Два сообщения о незаполненной контактной информации вместо одного HOT 1
- Объявления дублируются в поиске по тэгам после редактирования
- Не работает удаление тегов из объявления HOT 1
- Интегрировать в проект guard и spork
- Загруженные фотографии нужно позволить удалять
- soft delete для Item
- Хочу просматривать опубликованные объявления
- Add focus: true to rspec configure HOT 1
- Улучшить интеграцию с elastic HOT 1
- Вывод картинок через контроллер HOT 1
- Отправка email уведомлений о том что фотка забанена HOT 1
- Список объявлений на модерацию HOT 1
- Переделать процесс смены state для item HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from board.