【问题标题】:Rails using puma, change localhost:3000 to localhost:3000/exampleRails 使用 puma,将 localhost:3000 更改为 localhost:3000/example
【发布时间】:2020-05-21 05:51:18
【问题描述】:

我开发了一个在http://localhost:3000/ 中运行良好的rails 5 应用程序

现在,我需要这个应用程序在 localhost:3000/example 中启动,并且链接通过这个新主机(例如 localhost:3000/example/users/new)。我在 localhost:3000/example 中获得了这些资产和 javascripts 工作正常:

config.root_path = '/example'

但链接仍会重定向到旧链接(例如,localhost:3000/users/new)。

有人知道我该如何解决吗?提前致谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5 puma


    【解决方案1】:

    将您的整个路线配置包装在 scope

    #config/routes.rb
    
    Rails.application.routes.draw do
       scope '/example' do
         #all the routes goes here
       end
    end
    

    您可以使用此更改资产交付路径的方式

    更多信息:https://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

    #config/application.rb
    
    config.action_controller.asset_host = "example.com"
    config.assets.prefix = '/example'
    

    https://guides.rubyonrails.org/v3.0.3/configuring.html#configuring-action-controller

    【讨论】:

    • 这适用于链接,但现在资产又消失了
    • 那么您是如何使用这些资产的? asset_url("pattern.png", image) 会将其解析为实际资产 url。
    • @antoniovazquez,我已经更新了我的答案。请让我知道这是否解决了您的问题。
    • 嗨!这样可行!配置 application.rb 资产现在正在工作。现在有一个新问题调用方法(错误 405)。谢谢大家,现在正在寻找新的信息
    猜你喜欢
    • 2018-03-28
    • 2020-10-12
    • 2015-04-17
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2014-05-13
    相关资源
    最近更新 更多