我正在使用多个引擎在 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