ruby-on-rails - 使用模型名称中的大写字母覆盖 Rails Controller 路由

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我想在 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/

相关文章:

ruby-on-rails - Rails 3.1 和样式表框架

ruby-on-rails - Rails 项目,在使用 capybara 进行测试时:ArgumentError: 未使用的参数传递给 Capybara::Queries::SelectorQuery : [4]

ruby-on-rails - 并发 SOAP API 请求总共花费更长的时间

jquery-ui - 导轨 3.2 : jQuery UI icons are missing

ruby-on-rails - 为什么设计会创建一个非空的默认电子邮件和加密密码?

ruby-on-rails - 在 Mac 上安装 Ruby & Rails

activerecord - Mongodb,mongoid Rails 3.1.* 事件记录错误

ruby-on-rails - omn​​iauth facebook 不显示图片

mysql - 如何在 Ruby on Rails 中验证后加密数据?

mysql - 使用 redis 将所有用户通知保存在列表中?