我想在 rails 中创建一个模型:
rails generate model ABCThing
所以这将创建一个表,
abc_things
.伟大的。问题出在 Controller 和路由上。我希望我的 Controller 是:class ABCThingsController < ApplicationController
end
但是,在加入
routes.rb
之后resources :abc_things, :only => [:index]
并创建相应的
index
查看,我在浏览器中收到以下错误:Expected /app/controllers/abc_things_controller.rb to define AbcThingsController
这个问题很容易看到(
"ABCThings".tableize.classify => "AbcThing"
),但我不太确定如何解决它。我想覆盖从 View 到 Controller 的 rails 默认路由,但我不确定如何。将不胜感激任何帮助(以及更好的问题标题的建议!)
最佳答案
在尝试了上述所有解决方案后,我遇到了这个问题;能够使用变形器解决我的问题。
就我而言,问题是 TLA::ThingsController
被解析为 Tla::ThingsController
将以下内容放在我的初始化文件夹中修复了它config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
inflect.acronym 'TLA'
end
关于ruby-on-rails - 使用模型名称中的大写字母覆盖 Rails Controller 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12509176/