2013-02-11 4 views
0

Внутри контроллера моего приложения у меня есть две разные папки. Внутри папки у меня есть два контроллера с таким же именем, как показано ниже:Вызов контроллеров с таким же именем класса разных модулей

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

Обе вышеуказанные контроллеры содержат разные имена модулей. Название Модуль "/controller/a/xyz_controller.rb" является "" имя и модуль "/controller/b/xyz_controller.rb" является "б".

Имя моего приложения: «a». Внутри routes.rb, у меня есть что-то вроде этого:

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

но почему-то называет «функцию» «» по умолчанию.

Как вызвать функцию контроллера «b» через routes.rb?

+0

Я не уверен, что есть достаточно информации здесь, чтобы понять, что вы пытаетесь сделать. Можете ли вы более подробно описать, почему вы хотите, чтобы это устройство контроллера выглядело довольно странным и какую проблему вы пытаетесь решить. –

ответ

0

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

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

, вероятно, является наиболее прозрачным, но получить также должны работать таким же образом. если вы хотите, чтобы имя модуля в качестве части шаблона, вам нужно использовать путь-стиль вместо класса стиля:

get "reports/update_notes" => "b/xyz#function" 
Смежные вопросы