2011-10-18 2 views
1

utilisant: Rails 3.0.3 Friendly_id: 4.0.0.beta11Rails: friendly_id utilise le nom et non slug comme id

Je créer une version de développement entièrement fonctionnel d'une application où je suis tout travail, y compris friendly_id url: scomme domain.com/cars/mitsubishi

Maintenant, je déploie l'application sur Heroku mais je ne peux pas obtenir le friendly_id pour fonctionner pour une raison quelconque.

Problème: Lorsque je le déploie sur Heroku, il me donne "nom" comme amical_id et non slug_en ou slug_se. Calculation.first.friendly_id donne par exemple "Je suis un calcul" par opposition à "je-suis-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 suis pas sûr de combien je peux faire confiance aux migrations . Autant que je comprends, ils sont écrasés avec db: push.

Maintenant, cela ne devrait pas vraiment d'importance car cela fonctionne bien localement. Si j'utilise I18n.locale =: se cela me donnera le slug_se comme id et slug_en pour: en.

Il est intéressant de mentionner qu'Heroku utilise postgre et j'utilise mysql localement, si cela est important.

Mes questions:

  1. 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
  2. Y at-il quelque chose de mal avec le code que j'ai présenté ici?
  3. Est-ce que postgre/mysql-differences pourrait causer cela?
  4. S'agit-il d'index qui ne sont pas créés sur mon installation Heroku?

Merci!

Répondre

0

Il semblait que le problème résidait dans le fait que je télécharge les fichiers sur Heroku. Heroku utilise friendly_id 4.0.0.beta8 et il est premier dans 4.0.0.beta11 où slug_en/slug_se apparaît (si je le comprends correctement). Donc, le problème n'est toujours pas résolu mais a changé pour un type de problème assez différent qui n'est pas vraiment lié à la question posée dans ce ticket.

FYI: Le nouveau problème est "Pourquoi la version de friendly_id est-elle modifiée en une version antérieure".

Questions connexes