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