我試圖創建4此控制器在Rails的未初始化常量'錯誤:軌道4 - 縮寫控制器內的命名空間給予
Admin::EDMsController
在我的初始化/是inflections.rb文件,我已經定義了縮寫:
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'EDMs'
inflect.acronym 'EDM'
end
我的routes.rb文件有:
namespace :admin do
# ... some other resources ...
resources :edms
end
我的控制器定義如下在app /控制器/管理/ edms_controller.rb:
class Admin::EDMsController < Admin::AdminController
end
當我嘗試訪問/管理/ EDMS,我得到以下錯誤:
uninitialized constant Admin::EDMsController
我已經發現迄今:
- 如果我將它重命名爲Admin :: EdmsController並刪除變形定義(即一切,除了不是一個縮寫相同),它的工作原理
- 如果我移動整個事情了管理員命名空間爲我的應用程序(即EDMsController,通過訪問/ EDMS)的根,它的工作原理
這是還值得注意的是,我在管理員命名空間中有其他控制器和資源可以正常工作。
所以看起來我可以有一個首字母縮略詞控制器,或者是一個命名空間內的控制器,但不能同時存在。
有什麼建議嗎?
我覺得it's因爲縮寫啄,我在api文檔中查找了rails 4,但我沒有找到它。也許它被刪除了。 – emerak
@emerak你的意思是ActiveSupport :: Inflector :: Inflections.acronym?如果是這樣,它仍然存在http://api.rubyonrails.org/classes/ActiveSupport/Inflector/Inflections.html#method-i-acronym – pricj004
嗯檢查關於首字母縮寫複數化的說明,認爲這就是答案 – emerak