Cam*_*tin 5 ruby ruby-on-rails ruby-on-rails-4
我正在尝试在Rails 4中创建此控制器:
Admin::EDMsController
Run Code Online (Sandbox Code Playgroud)
在我的initializers/inflections.rb文件中,我已经定义了首字母缩略词:
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'EDMs'
inflect.acronym 'EDM'
end
Run Code Online (Sandbox Code Playgroud)
我的routes.rb文件有:
namespace :admin do
# ... some other resources ...
resources :edms
end
Run Code Online (Sandbox Code Playgroud)
我的控制器在app/controllers/admin/edms_controller.rb中定义如下:
class Admin::EDMsController < Admin::AdminController
end
Run Code Online (Sandbox Code Playgroud)
当我尝试访问/ admin/edms时,出现以下错误:
uninitialized constant Admin::EDMsController
Run Code Online (Sandbox Code Playgroud)
到目前为止我发现了什么:
值得注意的是,我在admin命名空间中有其他控制器和资源可以正常工作.
所以看起来我可以有一个首字母缩略词控制器,或命名空间中的控制器,但不是两者.
有什么建议?
小智 6
看起来这是4.2中修复的错误:https://github.com/rails/rails/pull/14146
如果你无法升级,这应该工作:
irb(main):001:0> ActiveSupport::Inflector.inflections(:en) { |inflect| inflect.acronym 'Admin/EDMs' }
=> /Admin\/EDMs/
irb(main):002:0> 'Admin::EDMsController'.underscore
=> "admin/edms_controller"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
700 次 |
| 最近记录: |