在单独的扩展程序或引擎中安装spree后端

时间:2015-06-17 15:05:50

标签: ruby-on-rails spree spree-auth-devise

我正在使用spree遇到一个复杂的案例。我有一个基于组件的rails应用程序,带有3个狂欢引擎或扩展程序:

  1. my_core:包含spree和auth_spree模型+我自己的额外模型

  2. my_api:包含我的应用程序的api(与spree_api完全不同)

  3. my_backend:这里我想安装spree_backend但是使用co_rse的my_core模型。

  4. 有没有办法在没有型号的情况下安装spree_backend?以及如何在内部运行身份验证流程?

    在我的路线中,我有:

    # config/routes.rb
    Rails.application.routes.draw do
      constraints :subdomain => 'api' do
        mount MyAPI::Engine, at: "/"
      end
      constraints :subdomain => 'admin' do
        mount MyBackend::Engine, at: "/"
      end
    end
    
    # components/my_backend/config/routes.rb
    MyBackend::Engine.routes.draw do
      root to: "spree/admin/orders#index"
      mount Spree::Core::Engine, :at => '/'
    end
    

    更新19-06-2015

    我终于可以通过修改引擎路线来管理管理页面:

    # components/my_backend/config/routes.rb
    MyBackend::Engine.routes.draw do
      root to: "admin/orders#index"
      mount Spree::Core::Engine, :at => '/'
    end
    

    此外,我不得不修复资产的许多问题。但仍然面临spree.js.coffee.erb文件中路由的一个问题

    enter image description here

    我做错了吗?任何建议都将非常感谢!!!

1 个答案:

答案 0 :(得分:0)

如果有人需要它,我通过在我的引擎供应商目录中创建一个新文件spree.js.coffee.erb并覆盖该类的方法@mountedAt来解决此问题:

@mountedAt: ->
    "<%= MyBackend::Engine.routes.url_helpers.spree_path %>"