Comments (3)
I would remove mongoid-slug and add field :_slugs, type: Array
, ensure that there's an index with index :_slugs, unique: true
and reimplement a lookup in a higher level of the application that falls back to _slugs
whenever something doesn't look like an ID and/or cannot be found, followed by a 301 permanent redirect.
Does that help?
from mongoid-slug.
It's definitely a good solution. I guess I was hoping for a built-in mechanism to achieve this kind of behavior. Like a "disabled" flag that you can set on the slug field so that the reverse lookup would still work, but the default id field gets served as the slug from now on. But probably my case is not common enough to warrant an option like that.
The problem for me with your solution is that I'm hesitant to add extra code just to achieve this behavior. So if there is no built-in solution, I am tending towards simply disabling the slugs and having to live with the lost history, whatever repercussions that may entail with Google.
from mongoid-slug.
Feel free to PR something that accomplishes that. Instead of a disabled function I would want to split up the Mongoid::Slug
module into a Mongoid::Slug::Find
and Mongoid::Slug::Create
so that you can include one, the other or both functionalities. Will leave this open as a feature request.
Other than above, you can roll your own Mongoid::Slug that just implements the find
part and you won't have to change anything in your classes after removing the gem.
from mongoid-slug.
Related Issues (20)
- Scoping not working under Rails 5 HOT 4
- Very slow slug generation queries with latest BSON and mongo driver HOT 3
- Better index on Mongoid 6 / MongoDB 3.2+ HOT 1
- Question re: generating paths/urls when using scoped slug HOT 5
- Slug index creation not taking localization into account HOT 3
- Allow users to disable index declaration or customize an index
- Rake task not working HOT 14
- Multiple slugs for the same model? HOT 1
- TypeError: compared with non class module HOT 3
- rake task warnings HOT 5
- Add support for mongoid 7 HOT 8
- Release v. Next HOT 1
- Can't get the gem to work HOT 5
- Customize name of the _slugs field
- Can't find document by localized slug HOT 3
- Heroku Deploy Fails HOT 12
- Fix CI HOT 1
- Please make me a Rubygems co-owner
- Drop support for Mongoid < 7 in new versions 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 mongoid-slug.