ruby-on-rails – 如何在rails路由中动态切换子域和命名空间

ruby-on-rails – 如何在rails路由中动态切换子域和命名空间,第1张

概述我想创建一个像这样的动态路由 https://subdomain.mysite.me/adminhttps://mysite.me/subdomain/admin 我可以为子域约束或命名空间设置我的路由,但我不知道如何使它们都可用. 你只需检查 this 我设置了我的rails应用程序,以便在Ryan Bates使用这个令人敬畏的RailsCast教程之后使用自定义子域.用户可以访问compan 我想创建一个像这样的动态路由

https://subdomain.mysite.me/adminhttps://mysite.me/subdomain/admin

我可以为子域约束或命名空间设置我的路由,但我不知道如何使它们都可用.

解决方法 你只需检查 this

我设置了我的rails应用程序,以便在Ryan Bates使用这个令人敬畏的RailsCast教程之后使用自定义子域.用户可以访问company.lvh.me:3000并查看其所有相关信息.现在,我想在自定义子域的前面添加一个admin子域(admin.company.lvh.me:3000).

我的想法是,每个博客都有特定的管理员和特殊的控制器/视图.因此,如果将admin添加到公司子域的前面,则rails将通过app / controllers / admin / blogs_controller.rb进行路由并显示app / vIEws / admin / blogs / show.HTML.erb.

我已经使用了admin命名空间并将其设置为我过去的一些Rails应用程序中的子域,但是当我在这里尝试时,我需要第二个子域是动态的:

namespace :admin,path: '/',constraints: { subdomain: 'admin.DYNAMIC' } do  match     '/',to: 'blogs#show',via: 'get'end

因此,如果在子域约束中键入admin.company,它就像魅力一样,但如何使其动态化?我没有运气在路线文件中使它变得动态(‘admin.’子域等),这引出了我的想法:我可以只使用Ryan Bates的子域类吗?

namespace :admin,constraints: { subdomain: Subdomain } do  match '/',via: 'get'endclass Subdomain  def self.matches?(request)    request.subdomain.present? && request.subdomain != "www"  end endRelevant RoutesPrefix Verb  URI Pattern  Controller#action admin GET   /            admin/blogs#show
总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何在rails路由中动态切换子域和命名空间全部内容,希望文章能够帮你解决ruby-on-rails – 如何在rails路由中动态切换子域和命名空间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1271207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存