Rails 3.2在我的controllers/admin/accounts_receivables_contoller.rb,中,我有:
class Admin::AccountsReceivables < Admin::ApplicationController
def index
...
end在其中一种观点中,我有:
= link_to admin_accounts_receivables_path在我的config/routes.rb中,我有:
namespace :admin do
resources :accounts_receivables do
collection do
get 'admin_report'
get 'customer_report'
post 'process_invoices'
end
end
endrake路由,产生:
admin_accounts_receivables GET admin/accounts_receivables(.:format) admin/accounts_receivables#index但是,当我单击该链接时,我得到(在浏览器中,但在日志文件中没有条目):
uninitialized constant Admin::AccountsReceivablesController我没有对应的AccountsReceivable模型,因为我不需要它。
有什么想法吗?
发布于 2020-04-18 08:13:48
该类应该命名为AccountsReceivablesController,并且您应该显式地嵌套该类,而不是使用作用域解析操作符,以便它具有正确的模块嵌套:
module Admin
class AccountsReceivablesController < ApplicationController
def index
# ...
end
end
end当您使用作用域解析操作符class Admin::AccountsReceivablesController时-模块嵌套被解析到定义点Main (全局作用域)而不是Admin。例如:
module Admin
FOO = "this is what we expected"
end
FOO = "but this is what we will actually get"
class Admin::AccountsReceivablesController < Admin::ApplicationController
def index
render plain: FOO
end
end发布于 2020-03-22 10:21:12
class Admin::AccountsReceivables < Admin::ApplicationController应该是...
class Admin::AccountsReceivablesController < Admin::ApplicationControllerhttps://stackoverflow.com/questions/60795063
复制相似问题