【问题标题】:What if the model in the ActiveRecord is an always plural word?如果 ActiveRecord 中的模型总是复数怎么办?
【发布时间】:2011-07-11 16:11:47
【问题描述】:

我正在开发一个应该依赖于现有数据库的 Rails 应用程序。 那里有几个表名,它们总是复数形式,例如“Series”。

应用程序无法与与其关联的模型正常工作。你打算如何处理它 - 有没有不改变命名的解决方案?

提前致谢!

【问题讨论】:

    标签: ruby-on-rails-3 activerecord orm plural


    【解决方案1】:

    听起来您需要告诉 Rails “Series”是不可数的——也就是说,它不应该尝试将其变形为单数/复数。为此,请将inflect.uncountable 'series' 行添加到您的config/initializers/inflections.rb 文件中。

    然而,奇怪的是,“系列”在默认情况下似乎是不可数的;你是从众多相似的名字中挑选出来的吗?

    【讨论】:

    • 哇,这很有趣。但是,我的问题仍然存在,因为当我到达 localhost:3000/series 时,它显示 uninitialized constant SeriesController 在我拥有的路线中:resources :series
    • 你有SeriesController吗?也就是说,你有没有定义class SeriesController < ApplicationController 的文件app\controllers\series_controller.rb
    • 刚刚发现了这个错误 - 控制器被称为 series.rb 而不是 series_controller.rb。可能是因为不可数名词的问题,我在一轮重命名中犯了这个错误,现在也解决了。仍然不明白在一个项目中甚至有两个不可数名词的模型的巧合:) 感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    • 2012-11-11
    • 2010-12-31
    相关资源
    最近更新 更多