ruby-on-rails – 在模型名称中用大写字母覆盖Rails控制器路由

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在模型名称中用大写字母覆盖Rails控制器路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在rails中创建一个模型:
rails generate model ABCThing

所以这将创建一个表,abc_things.大.控制器和路由出现问题.我要我的控制器是:

class ABCThingsController < ApplicationController
end

但是,添加了routes.rb后

resources :abc_things,:only => [:index]

并创建相应的索引视图,我在浏览器中收到以下错误

Expected /app/controllers/abc_things_controller.rb to define AbcThingsController

问题很容易看到(“ABCThings”.tableize.classify =>“AbcThing”),但我不太确定如何解决它.我想覆盖rails默认路由从视图到控制器,但我不知道如何.

感谢任何帮助(和更好的问题标题的建议!)

解决方法

我有这个问题,并尝试所有上述解决方案后;能够使用拐角修复我的问题.

在我的情况下,问题是TLA :: ThingsController被解析为TlaThingsController

将以下内容放在我的初始化程序文件夹中进行修复

配置/初始化/是inflections.rb

ActiveSupport::Inflector.inflections do |inflect|
  inflect.acronym 'TLA'
end
原文链接:https://www.f2er.com/ruby/267071.html

猜你在找的Ruby相关文章