У меня есть две моделей в моем приложении, которые используют камень Friendly_id (это так, что URL-адрес для приложения является более описательным и удобно.Недавно установлен рубин Gem Friendly_Id не обновляется on-приложения, которое развернутый Via Heroku
Политик Модель:
class Politician < ActiveRecord::Base
has_many :interests
has_many :issues, through: :interests
validates :name, :political_party, :title, :slug, presence: true
extend FriendlyId
friendly_id :name, use: :slugged
end
и модель Issue:
class Issue < ActiveRecord::Base
has_many :interests
has_many :politicians, through: :interests
validates :name, :slug, :keywords, presence: true
extend FriendlyId
friendly_id :name, use: :slugged
end
Предыстория: приложение не было изначально подтолкнули к Хереку с установленным камнем. Я построил приложение и развернул его в Heroku, а затем я столкнулся с жемчужиной Friendly_ID. Узнав об этом, я установил gem в свой Gemfile, изменил вышеупомянутые модели и контроллеры, и он прекрасно работает на моем локальном сервере.
Я думал, что все настроено. Я повторно засеял свои данные по Heroku и подтолкнул его, но изменения не будут отображаться на реальном сайте. И поэтому вместо того, чтобы использовать поле пробкового для каждой модели, как так:
www.mysite.com/politicians/barack-obama
www.mysite.com/issues/economy
Я все еще вижу:
www.mysite.com/politicians/7 (политик ID номер Барака Обамы)
www.mysite.com/issues/3 (идентификационный номер для "эконом" вопрос)
Подробнее История Назад:
Я посмотрел the gem's docs и даже a few questions here на StackOverflow, и все они сказали, что если вы добавляете драгоценный камень в ранее существовавшее приложение, то для запуска этого кода в консоли Heroku для каждой модели, используемой при использовании джойстика friendly_id чтобы:
heroku run console
И потом:
Politician.find_each(&:save)
Issue.find_each(&:save)
Это не работает: -/Мое приложение еще не обновляется с семантико-дружественных URL. Я также должен добавить, что изначально я использовал вспомогательный модуль gem. И так, у меня было:
friendly_id :name, use: [:slugged, :history]
Но кто-то on this StackOverflow thread упоминается удалить «помощник» ключевое слово (?, А затем повторно добавить его после сохранения), так как это может препятствовать его от обновления на Heroku. Я еще не пробовал (повторное добавление ключевого слова «помощник» после сохранения, но я хотел задать свой вопрос, прежде чем я потратил лишний день на что-то, и он не работает.
Помогите пожалуйста :-)
Вы мигрировали свой герою db, чтобы добавить столбец «slug»? Все ли работает в вашей локальной: производственной среде, а также локально: разработка? – eeeeeean
Да, все работает отлично, когда я запускаю приложение локально на сервере на своем ноутбуке. В чем разница между «локальной: производственной средой» и «локальным: развитие»? –
И да я мигрирую свою герою db, запустив: heroku run rake db: migrate –