如何在 rails 中实现用户特定的子域
How to implement user specific sub domains in rails
我正在编写一个 rails 应用程序,用户可以在其中拥有自己的基于用户名的子域,例如 GitHub 页面 => USERNAME.github.io
我所做的是创建一个控制器,它从请求中解析子域并找到相应的用户。
def show
@user = User.where(name: request.subdomain)
end
现在我应该如何编写我的路由,以便我可以接受任何用户特定的子域并将其定向到上述控制器
是的,你可以在你的路由中获取子域并直接到你的控制器。
您将通过帮助程序或在您的路由中使用正则表达式来获取您的子域。下面是一个正则表达式示例
get '/', to: 'controller#show', constraints: { subdomain: '/^[a-zA-Z]*/' }
上面的例子应该得到一个典型的子域。
您可以在下面的链接中找到一些很好的示例。 rails cast 有一个很好的子域路由示例
http://guides.rubyonrails.org/routing.html
http://railscasts.com/episodes/221-subdomains-in-rails-3
我正在编写一个 rails 应用程序,用户可以在其中拥有自己的基于用户名的子域,例如 GitHub 页面 => USERNAME.github.io
我所做的是创建一个控制器,它从请求中解析子域并找到相应的用户。
def show
@user = User.where(name: request.subdomain)
end
现在我应该如何编写我的路由,以便我可以接受任何用户特定的子域并将其定向到上述控制器
是的,你可以在你的路由中获取子域并直接到你的控制器。
您将通过帮助程序或在您的路由中使用正则表达式来获取您的子域。下面是一个正则表达式示例
get '/', to: 'controller#show', constraints: { subdomain: '/^[a-zA-Z]*/' }
上面的例子应该得到一个典型的子域。
您可以在下面的链接中找到一些很好的示例。 rails cast 有一个很好的子域路由示例
http://guides.rubyonrails.org/routing.html http://railscasts.com/episodes/221-subdomains-in-rails-3