如何覆盖 Rails 命名约定?
我有一个名为“clothing”的模型,我想将其作为单数(一件衣服)。 默认情况下,rails 表示复数是“clothings”。 无论对错,我认为如果复数是“衣服”,会更具可读性。
如何覆盖复数命名约定? 我可以在模型中正确执行此操作,从而不必一遍又一遍地执行此操作吗? 这将如何改变路由的处理方式(我正在使用宁静的架构)?
I have a model named "clothing" which I want to be the singlular (one piece of clothing). By default, rails says the plural is clothings. Right or wrong, I think it will be more readable if the plural is "clothes".
How do I override the plural naming convention? Can I do it right in the model so I don't have to do it over and over? How will this change how routes are handled (I am using restful architecture)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不是 RoR 专家,但确实找到了可能的方法。 从引用的站点,您可以在 config/initializers/inflections.rb 文件中添加变形规则:
I'm no RoR expert, but did find a possible approach. From the referenced site you can add inflection rule inside the
config/initializers/inflections.rb
file:对于 Rails 2.3.2 甚至 2+,您需要做一些不同的事情:
For rails 2.3.2 and maybe 2+, you need to do it a little different:
如果您试图阻止数据库复数化,请将其添加到您的
environment.rb
文件中Add this in your
environment.rb
file if you are trying to stop database pluralization对于我来说,使用 Ruby 2.2.2 windows 或 linux 最好的解决方案是:
With Ruby 2.2.2 windows or linux for me best solve was :