在Rails中生成新模型时,它会自动将表名多元化。然而,这并不总是很好--特别是对于具有非标准多元化的单词。
我创建了一个名为lens的模型。因为rails认为这个词已经是复数的,所以它没有在迁移文件中将表名多元化。没问题--在运行迁移之前,我只是编辑了文件并将lens更改为lenses。
不幸的是,当我试图实例化Lens类时,我得到了这个错误:
Could not find table 'lens'我假设这是因为Rails认为这个单词已经是多元化的,所以当它试图在数据库中找到表时,它不会尝试将它多元化。
那我该怎么办?我应该打破常规,让Rails调用表lens而不是lenses,还是有适当的配置方法?
发布于 2012-11-23 07:49:58
您应该有一个config/initializers/inflections.rb文件,您可以在该文件中执行类似的操作。
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural 'lens', 'lenses'
endhttps://stackoverflow.com/questions/13524809
复制相似问题