0

在我的应用程序的控制器中,我有两个不同的文件夹。在文件夹中,我有两个同名的控制器,如下所示:

/controller/a/xyz_controller.rb    
/controller/b/xyz_controller.rb

上述两个控制器都包含不同的模块名称。“ /controller/a/xyz_controller.rb ”的模块名称是“ a ”,“ /controller/b/xyz_controller.rb ”的模块名称是“ b ”。

我的应用程序的名称是“ a ”。在 routes.rb 里面,我有这样的东西:

get "reports/update_notes"=>"b::xyz#function"

但不知何故,它默认调用“ a ”的“函数”。

如何通过 routes.rb调用“ b ”控制器的功能?

4

1 回答 1

0

http://guides.rubyonrails.org/routing.html

match "reports/update_notes" => "xyz#function", :via => :get, :module => 'b'

可能是最透明的,但 get 也应该以同样的方式工作。如果您希望模块名称作为模式的一部分,则需要使用路径样式而不是类样式:

get "reports/update_notes" => "b/xyz#function"
于 2013-02-11T13:32:57.147 回答