Dav*_*nes 2 database-design model ruby-on-rails pluralize
可能重复:
如何覆盖rails命名约定?
在Rails中生成新模型时,它会自动复数表名.但是,这并不总是很好 - 特别是对于具有非标准复数的单词.
我创建了一个名为的模型lens.由于rails认为这个词已经多元化,因此它没有在迁移文件中复数表名.没问题 - 我刚刚编辑了文件并在运行迁移之前已更改lens为lenses.
不幸的是,我在尝试实例化Lens类时遇到了这个错误:
Could not find table 'lens'
Run Code Online (Sandbox Code Playgroud)
我假设这是因为Rails认为这个单词已经是多元化的,所以当试图在数据库中找到表时它不会尝试复数.
那我该怎么办?我是否应该违反惯例而只是让Rails调用表lens而不是lenses,或者有没有办法正确配置?
你应该有一个config/initializers/inflections.rb文件,你可以做类似的事情.
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural 'lens', 'lenses'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |