Comments (3)
@tommy-dev ranked-model gets its efficiency gain by not managing position, but instead only providing relative rankings in a large integer space. There is no guarantee there will not be a gap in the ranking.
This should be spelled out pretty clearly at the top of the Readme. It seems here that your ranking column (ranks, not positions) is very tightly clustered. That means a rank rebalance is happening on every change. This is definitely not optimal, maybe this is coming from old data in a position column?
Also, please upload an image without emails addresses, names and phone number.
from ranked-model.
Here is my implementation, based on the readme:
https://github.com/binarapps/sortable-tables
Position is a field used by ranked-model (ranks :position in user model)
My idea was to use this field as a position in the table, so after changing one elements position, other gonna be updated, and the order will be kept. The problem with update is that it doesnt take under consideration the previous position of changed element. In the posted pics you can see that in all elements after 5 position is added, that why there is a gap here.
If it is not going to work like this, please tell me so I will implement sth on my own. I just thought it is good gem for this task, but maybe I didnt understand how it is working.
And dont worry about the images, data is Faker generated so no real personal data is shown here. :)
from ranked-model.
@tommy-dev I remain very uncertain as to what you are trying to do.
ranked models stores a rank in the database. You should not manually be setting the rank. It provides a position attribute (explained on the readme) for reading the position, but this is merely a convenience.
If something is awry, a test or example code would help me understand what you are expecting to happen.
from ranked-model.
Related Issues (20)
- :unless option isn't documented HOT 1
- Migration docs HOT 6
- Conficts with Mobility JSONB backend HOT 6
- undefined method `<' for nil:NilClass ranker.rb:215:in `rebalance_ranks' HOT 3
- Typo in Readme? HOT 1
- v0.4.6 Error: ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "row_order" violates not-null constraint HOT 5
- {column_name}_rank causes NoMethodError HOT 6
- Migration acts_as_list => ranked_model HOT 1
- Invalid SQL in `relative_rank` when order column value is nil HOT 2
- NonNilColumnDefault breaks running app when rank column has a default value HOT 7
- Race condition when inserting records HOT 5
- Publish new version to RubyGems HOT 5
- Order is incorrect when updating multiple records with accepts_nested_attributes_for HOT 5
- Creating records with ActiveRecord::Enum in rails 6.0 causes ActiveRecord::RecordNotUnique. HOT 5
- N+1 requests when outputting rank values HOT 6
- How to detect that `rearrange_ranks` or `rebalance_ranks` has been executed? HOT 3
- Is there a limit to the number of items to sort? HOT 4
- Failing to explicitly set position can lead to reordering on update HOT 3
- Unavoidable Rank N+1 Queries HOT 4
- how to find neighbor? HOT 9
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 ranked-model.