Rails: friendly_id использует имя, а не слизнение в качестве идентификатора
-
26-10-2019 - |
Вопрос
Использование: Rails 3.0.3 friendly_id: 4.0.0.beta11
Я создаю полностью работающую версию разработки приложения, где все работало, в том числе urliper_id url: s, как domain.com/cars/mitsubishi
Теперь я развертываю приложение на Heroku, но по какой -то причине не могу заставить Priendly_id работать.
Проблема: когда я развернут его на Heroku, это дает мне «имя» как Friendly_id, а не slug_en или slug_se. Расчет.first.Friendly_ID дает, например, «Я расчет», а не «I-AM-A-Calculation», который будет содержанием slug_en.
Модель (расчет)
extend FriendlyId
friendly_id :name, :use => :slugged, :use => I18n
Миграция (расчет):
t.string :slug_en
t.string :slug_se
Migratiotion2:
add_index :calculations, :slug_en, :unique => true
add_index :calculations, :slug_se, :unique => true
Проблема в том, что мне нужно подтолкнуть (Heroku DB: push) моя локальная база данных в Heroku (поскольку она заполнена данными), и поэтому я не уверен, насколько я могу доверять миграциям. Насколько я понимаю, они перезаписаны DB: Push.
Теперь это не должно иметь значения, так как это работает нормально на местном уровне. Если я использую i18n.locale =: se, это даст мне slug_se как id и slug_en для: en.
Стоит упомянуть, что Heroku использует Postgre, и я использую MySQL локально, если это важно.
Мои вопросы:
- Что обычно может быть проблемой, если я получу атрибут имени как friendly_id вместо slug_en или slug_se
- Есть ли что -то не так с кодом, который я представил здесь?
- Могут ли это вызвать постгр / mysql-дифференциации?
- Неужели индексы не создаются на моей установке Heroku?
Спасибо!
Решение
Казалось, что проблема заключается в том, что когда я загружаю файлы в Heroku. Heroku использует Friendly_id 4.0.0.beta8, и это первое в 4.0.0.beta11, где появляется slug_en/slug_se (если я правильно это понимаю).
Таким образом, проблема по -прежнему не является исправленной, но изменена на совершенно другой тип проблемы, которая на самом деле не связана с вопросом, поставленным в этом билете.
К вашему сведению: новая проблема: «Почему версия friendly_id меняется на более раннюю версию».