0

我正在使用多个引擎在 Rails 4 rc1 中构建多租户应用程序。但是我在引擎之间遇到了路由问题。这是我的应用程序结构。

hostapp/
   admin/
   frontend/
   store_admin/
   store_frontend/

我的routes.rb

Hostapp::Application.routes.draw do

  constraints(Subdomain) do
    mount StoreFrontend::Engine => '/', as: 'store_frontend'
    mount StoreAdmin::Engine => '/admin', as: 'store_admin'
  end

  mount Frontend::Engine => '/', as: 'frontend'
  mount Admin::Engine => '/admin', as: 'admin'

end

最后frontend是发动机routes.rb

Frontend::Engine.routes.draw do
  get "/auth/:provider/callback", to: "authentications#callback", as: 'facebook_auth'
  get "/auth/failure", to: "authentications#failure", as: 'facebook_auth_failure'
end

例如:我正在尝试以下链接

<%= link_to "Facebook", frontend.facebook_auth_url(provider: "facebook", subdomain: nil), class: "social-facebook" %>

store_admin引擎中。它告诉我http://127.0.0.1.xip.io:3000/admin/auth/facebook/callback。但这不是正确的链接。正确的链接是:http://127.0.0.1.xip.io:3000/auth/facebook/callback

我没有任何想法。请帮帮我。如果您需要任何信息,请告诉我。并感谢您的建议:)

更新: 我在这里创建问题:https ://github.com/rails/rails/issues/10904

4

0 回答 0