У меня есть привязка 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?
EDIT:
Это также происходит, если макет приложения вызывает помощники путей. Поэтому, если движок разработан для интеграции в макет main_app, тогда эта проблема тоже будет расти.