Ruby on rails 3 Rails3.0.3ActiveRecord突然想要将某些mysql表多元化

Ruby on rails 3 Rails3.0.3ActiveRecord突然想要将某些mysql表多元化,ruby-on-rails-3,Ruby On Rails 3,这是一种开发模式。ActiveRecord::语句无效。这是一个例子:我有一个叫做DisplayAds的模型。现在activerecord希望以display\u ads而不是display\u ads的形式查询表。我有另一个模型,称为Media。Activerecord用于查询表媒体。现在它想查询一个名为medium的表。 我知道DisplayAds不是一个合适的命名约定,但它一直在工作,直到现在 我意识到我可以通过在模型中输入set_table_name来解决这个问题。 我还没有升级rail

这是一种开发模式。ActiveRecord::语句无效。这是一个例子:我有一个叫做DisplayAds的模型。现在activerecord希望以display\u ads而不是display\u ads的形式查询表。我有另一个模型,称为Media。Activerecord用于查询表媒体。现在它想查询一个名为medium的表。 我知道DisplayAds不是一个合适的命名约定,但它一直在工作,直到现在

我意识到我可以通过在模型中输入set_table_name来解决这个问题。 我还没有升级rails,几个月来一切都很好。 我有一个现场生产版本的这个网站,它没有遇到这个问题。 我不知道git状态,也没有看到任何配置文件被修改


我该怎么做才能让这一切发生?我怎样才能阻止它

您最近是否从2.3.5/8升级到了3.0.x?我对媒体也有同样的问题

您需要在config/initializers/influctions.rb文件中添加不规则项


从一开始就一直是3.0.3。从未升级过。奇怪的是,它在生产现场服务器上工作。我想也许我应该在实时服务器开始之前修复它并将其实时推送。您是否尝试将拐点添加到config/initializers/definctions.rb我最初弄乱了路径?我只是在模型中使用了set_table_name。
 ActiveSupport::Inflector.inflections do |inflect|
    inflect.irregular 'media', 'medias'
    inflect.irregular 'display_ad', 'display_ads'
    ...
 end