Маршруты движка в контроллере приложений

У меня есть ловушка 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, эта проблема возникнет и там.

12
задан Olives 28 September 2011 в 22:10
поделиться