Comments (2)
Draftsman will not handle these types of ActiveRecord callbacks where the database is updated directly without interacting with the model, which is a downfall. I'm finding that drafts make everything harder. :)
In my app, I've had to create a draft_position
column and manage it manually through a form object. I also handle publishing through a service object, which sorts out a published position
column based on the drafts being published. Once you get a handle on form and service objects, you'll find that they're the best way to get through some of these more complex draft situations.
Another option is to just not record drafts for a sort order column. I know that's probably not a good answer though.
Let me know if you have any specific questions. I'll continue to think about how this gem can be friendlier, but I think this sort of stuff is where ActiveRecord starts to draw criticism.
from draftsman.
Thanks Chris, totally makes sense. I think we're going to do something similar with drafts and position. We're still undecided if acts_as_list is helping or hurting us right now, so we might be dropping it in favor of using our own positioning :)
draftsman is pretty friendly already -- I was just curious how you're handling it. If I come up with something different, I'll let you know.
Thanks for the reply!
from draftsman.
Related Issues (20)
- Performance: add options on `has_drafts` to whitelist or blacklist dependent associations HOT 1
- Add option to not stash drafted data separately HOT 1
- Decide on changes for callbacks in response to new #save_draft method HOT 2
- Remove `#draft_creation` and `#draft_update` methods
- Reasons for failure HOT 3
- Is there a way to not mark as trashed on relationships when calling draft_destruction? HOT 5
- Error saving draft on a resource that already has a draft HOT 4
- Error when publishing a draft that has a polymorphic association if the association is nil HOT 1
- Is there a way to not destroy the draft after it is published? HOT 2
- Setup multi-environment testing HOT 2
- Rails 5 migration error HOT 2
- Draft#publish! should not skip model validations HOT 4
- Implement tests for migrations templates
- Multiple Changes HOT 2
- Support Postgresql JSONB HOT 1
- save_draft returns false on models having activestorage attachments HOT 2
- Improve documentation for use with associations HOT 5
- Project status - new steward needed HOT 7
- When calling `destroy` on a draft then draft_id still contains old id
- Is this still being maintained? HOT 14
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 draftsman.