2

我有一个定义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:

4

0 回答 0