当前位置: 首页 > 知识库问答 >
问题:

基于uri路由rails应用

韩嘉祯
2023-03-14

我正在尝试迁移两个Ruby on Rails应用程序,因为它们目前由原始开发人员托管,他们不允许我们访问以更改代码。这些应用程序是LocomotiveCMS_Engine和Spree站点。我让它们分别在端口3000和3333上运行得很好。

我想知道的是如何使它,当你转到页面,即localhost它会将你路由到端口3000,当你去localhost/store它会将你路由到端口3333。

我尝试使用此选项:http://livsey.org/blog/2012/02/23/using-rack-proxy-to-serve-multiple-rails-apps-from-the-same-domain-and-port/这适用于localhost请求,但当您转到localhost/存储时,页面的资产无法正确加载,因此页面上没有图形。

我对Ruby on Rails不是很熟悉,所以我正在尽最大努力把它拼凑起来。任何建议都将不胜感激!

共有1个答案

郭洋
2023-03-14

您的资产无法正确加载,因为Spree应用程序正在生成指向您的资产的相对链接,没有/store前缀。

您可以通过在Spree应用程序中更改asset\u host配置来修复此问题。在配置/环境/开发中进行设置。rb

config.asset_host = "http://localhost/store"
 类似资料:
  • 一般来说,URI字符串有着和它唯一对应的控制器(controller)类/方法。URI的各个部分是如下模式(pattern):example.com/class/function/id/ 然而在一些例子中,你也许想重定向这种关系来调用一个不同的类/方法(class/function),而不是与URL一一对应(的调用). 例如,你可能想使你的URL采用这种原型(prototype): example

  • 一般情况下,一个 URL 字符串和它对应的控制器中类和方法是一一对应的关系。 URL 中的每一段通常遵循下面的规则: example.com/class/function/id/ 但是有时候,你可能想改变这种映射关系,调用一个不同的类和方法,而不是 URL 中对应的那样。 例如,假设你希望你的 URL 变成下面这样: example.com/product/1/ example.com/prod

  • 我有一个小难题来解决这个问题。 我有一个用户和一个管理员角色。 用户应该能够列出除管理员以外的所有用户。管理员可以列出所有用户。 我想到的第一个解决方案是检查控制器级别的角色: 但是我更想做的是在路线层面上,保持控制器更干净,但不知何故它确实起作用了。它只列出用户,即使我作为管理员登录。 有什么建议吗?谢谢!

  • 我的目标是开发一个单一的骆驼路线来映射这些服务器,接受路径中服务器的名称。类似于这样: 我的(简化且不起作用)Blueprint.xml: 问题是,我不知道如何从路径中移除/center、/north或/south,因此头部被传递给目标服务,而目标服务不知道如何处理它。调用:

  • Rails 路由全解 本文介绍面向用户的 Rails 路由功能。 读完本文,你将学到: 如何理解 routes.rb 文件中的代码; 如何使用推荐的资源式,或使用 match 方法编写路由; 动作能接收到什么参数; 如何使用路由帮助方法自动创建路径和 URL; 约束和 Rack 端点等高级技术; 1 Rails 路由的作用 Rails 路由能识别 URL,将其分发给控制器的动作进行处理,还能生成路

  • 我希望使用相同的路由路径,根据用户角色为我的用户加载稍微不同的视图。 以前,我已经加载了基于当前域的不同路由: 这种方法只依赖于子域,子域在创建时可用,因此所有内容都可以是同步的。我必须对用户进行身份验证,根据其角色加载正确的路由,然后导出路由器以初始化vue应用程序。 理想情况下,我可以加载基于用户角色的,,,其中可以包含角色的所有路由定义。 我正在使用Feathers-vuex,但我似乎不能等