Rails: friendly_id utilise le nom et non slug comme id
-
26-10-2019 - |
Question
Utilisation: Rails 3.0.3 Friendly_id: 4.0.0.beta11
Je créer une version de développement entièrement fonctionnel d'une application où je suis tout travail, y compris url friendly_id: s comme domain.com/cars/mitsubishi
Maintenant, je suis le déploiement de l'application sur Heroku, mais je ne peux pas obtenir le friendly_id au travail pour une raison quelconque.
Problème: Quand je le déployer sur Heroku il me donne « nom » comme friendly_id et non slug_en ou slug_se. Calculation.first.friendly_id donne par exemple: « Je suis un calcul » par opposition à « i-am-un calcul » qui serait le contenu de slug_en.
Modèle (Calcul)
extend FriendlyId
friendly_id :name, :use => :slugged, :use => I18n
Migration (Calcul):
t.string :slug_en
t.string :slug_se
Migratiotion2:
add_index :calculations, :slug_en, :unique => true
add_index :calculations, :slug_se, :unique => true
Le problème est que je dois pousser (heroku db: push) ma base de données locale à Heroku (car il est rempli de données) et donc je ne sais pas à quel point je peux faire confiance aux migrations. Pour autant que je comprends, ils seront écrasés avec db. Appuyez sur
, qui ne devrait pas vraiment d'importance car il fonctionne très bien au niveau local. Si j'utilise I18n.locale =: se il me donnera l'slug_se comme id et slug_en pour:. En
intéressant de mentionner que Heroku utilisations PostGre et je Majeures localement, si cette question.
Mes questions:
- Ce qui pourrait généralement être le problème si je reçois le nom attribut comme friendly_id au lieu du slug_en ou slug_se
- Y at-il quelque chose de mal avec le code que j'ai présenté ici?
- pourrait postgre / mysql-différences cause?
- Est-ce une question d'indices ne sont pas créés sur mon installation Heroku?
Merci!
La solution
Il semblait que les mensonges de problème en ce que lorsque je télécharge les fichiers à Heroku. Heroku utilise 4.0.0.beta8 friendly_id et il est d'abord dans 4.0.0.beta11 où les apparaît de slug_en / slug_se (si je comprends bien).
Alors, le problème est toujours pas fixé, mais a changé à un tout autre type de problème qui est pas vraiment lié à la question posée dans ce billet.
Pour votre information. Le nouveau problème est « Pourquoi la version d'être friendly_id a changé à une version antérieure »