如何使用多个引擎设计没有冲突

时间:2014-05-16 21:27:08

标签: ruby-on-rails devise

我们的应用程序结构为一个核心应用程序,其中包含所有具有许多引擎的模型,这些引擎可为不同的站点提供支持。

的Gemfile:

gem 'rails', '4.1.1'
gem 'leadsengine', path: "engines/leadsengine"
gem 'profilesengine', path: "engines/profilesengine"
gem 'sourmilkengine', path: "engines/sourmilkengine"
gem 'reports', path: 'engines/reports'

直到最近,这些引擎中只有一个使用了Devise(leadsengine)。然后我们添加了sourmilkengine并发现当用户尝试登录/ leadsengine时,设计将它们重定向到/ sourmilkengine。反转gem中引擎的顺序切换重定向到最后运行Devise的引擎。

routes.rb(leadsengine)

Leadsengine::Engine.routes.draw do

  devise_for :user, {
    class_name: 'User',
    module: :devise
  }

routes.rb(sourmilkengine)

Sourmilkengine::Engine.routes.draw do

  devise_for :user, {
    class_name: 'User',
    module: :devise
  }

我注意到这个被拒绝的拉取请求https://github.com/plataformatec/devise/issues/2827,并想知道是否找到了更好的解决方案?

0 个答案:

没有答案