У меня есть ловушка before_filter в контроллере приложения моего основного приложения, которая делает что-то вроде: (Он не просто помещает ссылку во флэш-память, есть сообщение, но это не имеет отношения к вопросу, он просто обращается к маршруту в методе)
class ApplicationController < ActionController::Base
before_filter :set_link
def set_link
flash[:notice] = items_path
end
end
Это отлично работает для приложения, однако, когда я перехожу к контроллерам для созданного мной движка, я получаю исключение
No route matches {:controller=>"items", :action=>"index"}
. Я понимаю, что в движке помощники маршрутов предназначены для движка, если не имеют префикса main_app
. контроллер приложения на
def set_link
flash[:notice] = main_app.items_path
end
Избавляется от исключения, но я действительно не хочу этого делать. Есть другое решение о том, как заставить движок распознавать маршруты main_app?
РЕДАКТИРОВАТЬ:
Это также происходит, если макет приложения вызывает помощники по путям. Так что, если движок спроектирован для интеграции в макет main_app, эта проблема возникнет и там.