Ruby on rails Rails:friendly_id使用名称而不是slug作为id

Ruby on rails Rails:friendly_id使用名称而不是slug作为id,ruby-on-rails,internationalization,friendly-id,Ruby On Rails,Internationalization,Friendly Id,使用:Rails 3.0.3 友好id:4.0.0.beta11 我已经创建了一个完全可以工作的应用程序开发版本,在这个版本中,我让所有东西都可以工作,包括友好的url:s,比如domain.com/cars/mitsubishi 现在我正在Heroku上部署应用程序,但由于某些原因,我无法使友好的\u id正常工作 问题:当我在Heroku上部署它时,它会给我“name”作为友好id,而不是slug_en或slug_se。Calculation.first.friendly_id给出了例如“I

使用:Rails 3.0.3 友好id:4.0.0.beta11

我已经创建了一个完全可以工作的应用程序开发版本,在这个版本中,我让所有东西都可以工作,包括友好的url:s,比如domain.com/cars/mitsubishi

现在我正在Heroku上部署应用程序,但由于某些原因,我无法使友好的\u id正常工作

问题:当我在Heroku上部署它时,它会给我“name”作为友好id,而不是slug_en或slug_se。Calculation.first.friendly_id给出了例如“I am a Calculation”而不是“I-am-a-Calculation”,这将是slug_en的内容

模型(计算)

迁移(计算):

迁移2:

add_index :calculations, :slug_en, :unique => true
add_index :calculations, :slug_se, :unique => true 
问题是我需要将(heroku db:push)我的本地数据库推送到heroku(因为它充满了数据),因此我不确定我对迁移的信任程度。据我所知,它们会被db:push覆盖

现在,这并不重要,因为它在本地运行良好。如果我使用I18n.locale=:se,它将给我slug\u se作为id,slug\u en作为:en

值得一提的是,Heroku使用postgre,我在本地使用mysql,如果这很重要的话

我的问题是:

  • 如果我将name属性作为友好id而不是slug en或slug se获取,那么通常会出现什么问题
  • 我在这里提交的代码有什么问题吗
  • postgre/mysql的差异会导致这种情况吗
  • 这是不是我的Heroku安装上没有创建索引的问题

  • 谢谢

    问题似乎在于当我将文件上传到Heroku时。Heroku使用friendly_id 4.0.0.beta8,它是4.0.0.beta11中第一个出现slug_en/slug_se的地方(如果我理解正确的话)

    因此,这个问题仍然没有解决,而是变成了一个完全不同类型的问题,与这张票中提出的问题没有真正的联系

    仅供参考:新问题是“为什么将friendly_id的版本更改为早期版本”

            t.string :slug_en
            t.string :slug_se
    
    add_index :calculations, :slug_en, :unique => true
    add_index :calculations, :slug_se, :unique => true