在Rails中的命名空间块中引用非命名空间的控制器?

时间:2013-08-21 15:53:56

标签: ruby-on-rails

我在routes.rb中有一个类似的定义:

namespace :admin do
    resources :users do
        resources :email_addresses, controller: 'email_addresses'
    end
end

存在的两个控制器是Admin::UsersControllerEmailAddressesController。我看到的问题是,一旦我将应用程序部署到生产环境,尝试访问电子邮件地址资源的任何链接都会导致404 Admin::EmailAddressesController的未初始化常量错误。无论出于何种原因,我的开发环境中都不会发生这种情况。

以下是我的生产环境日志的输出:

Started GET "/admin/users/3/email_addresses/new" for 192.168.206.6 at 2013-08-21 10:00:43 -0700
ActionController::RoutingError (uninitialized constant Admin::EmailAddressesController):

这是在我的开发环境中工作得很好:

Started GET "/admin/users/1/email_addresses/new" for 127.0.0.1 at 2013-08-21 10:03:04 -0700
Processing by EmailAddressesController#new as JS

奇怪,对吧?

以下是我正在使用的链接示例导致错误(一旦点击):

link_to "Add Email Address", new_admin_user_email_address_path(user)  

更新:好像问题可能与此错误报告中提到的问题有关:https://github.com/rails/rails/issues/5798。问题是,如何在controller:

中明确引用非命名空间控制器

0 个答案:

没有答案