Использование: Rails 3.0.3
Friendly_id: 4.0.0.beta11
Я создал полностью рабочую версию приложения для разработки, в которой у меня все работает, включая URL-адрес friendly_id, например, domain.com/cars/mitsubishi
.
Сейчас я развертываю приложение на Heroku, но по какой-то причине не могу заставить friendly_id работать.
Проблема: при развертывании на Heroku «имя» отображается как friendly_id, а не slug_en или slug_se. Вычисление.first.friendly_id дает, например, «Я вычисление», а не «Я вычисление», которое будет содержимым 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 в качестве идентификатора и slug_en для: en.
Стоит упомянуть, что Heroku использует postgre, а я использую mysql локально, если это имеет значение.
Мои вопросы:
- В чем обычно может быть проблема, если я получу атрибут name как friendly_id вместо slug_en или slug_se
- Что-то не так с кодом, который я здесь представил?
- Может ли postgre / mysql-Differences вызвать это?
- Разве в моей установке Heroku не создаются индексы?
Спасибо!