首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中的非标准多元化

Rails中的非标准多元化
EN

Stack Overflow用户
提问于 2012-11-23 07:37:42
回答 1查看 396关注 0票数 2

可能重复: How do I override rails naming conventions?

在Rails中生成新模型时,它会自动将表名多元化。然而,这并不总是很好--特别是对于具有非标准多元化的单词。

我创建了一个名为lens的模型。因为rails认为这个词已经是复数的,所以它没有在迁移文件中将表名多元化。没问题--在运行迁移之前,我只是编辑了文件并将lens更改为lenses

不幸的是,当我试图实例化Lens类时,我得到了这个错误:

代码语言:javascript
复制
Could not find table 'lens'

我假设这是因为Rails认为这个单词已经是多元化的,所以当它试图在数据库中找到表时,它不会尝试将它多元化。

那我该怎么办?我应该打破常规,让Rails调用表lens而不是lenses,还是有适当的配置方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-23 07:49:58

您应该有一个config/initializers/inflections.rb文件,您可以在该文件中执行类似的操作。

代码语言:javascript
复制
ActiveSupport::Inflector.inflections do |inflect|
  inflect.plural 'lens', 'lenses'
end
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13524809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档