我有一个定义routes.rb
是这样的:
namespace :admin do
resources :users do
resources :email_addresses, controller: 'email_addresses'
end
end
存在的两个控制器是Admin::UsersController
和EmailAddressesController
。我看到的问题是,一旦我将应用程序部署到生产环境,尝试访问电子邮件地址资源的任何链接都会导致 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:
?