【问题标题】:make rails url helpers use the appropriate protocol?让 rails url helpers 使用适当的协议?
【发布时间】:2011-07-26 11:52:26
【问题描述】:

嘿,我允许通过 https 和 http 访问我的应用程序,除了我使用任何 _url 方法外,一切正常。如果我通过 https 访问使用这种方法的视图,它确实会被用作 https,但生成的 url 使用 http 协议。我想知道这是否正常,或者是否有办法使其自动化。我希望 rails 会根据页面的访问方式自动生成适当的 url。

如果没有办法解决这个问题,创建适当网址的最佳方法是什么?这行得通吗?

if request.ssl?
  some_url(:protocol => "https")
else
  some_url
end

如果我能想出一个更自动化的方法,我会更喜欢它。也许如果rails url方法生成://somedomain.com/some/path,我想它会自动适应正确的协议。

谢谢,如有任何帮助,我将不胜感激。

【问题讨论】:

    标签: ruby-on-rails http ssl https


    【解决方案1】:

    看起来有几种方法。在您的特定环境中,这些都不是理想的,但是在ActionView::Helpers 中,有一个 url_for 方法,如果您开始使用它,它可能会得到您想要的东西。另一个简单的选项是使用相对 URL(即:'/controller/action' 而不是 'https://myawesomesite.com/controller/action'),这也可以由 url_for 方法生成。

    除此之外,您似乎正在着手解决问题,或者深入研究生成代码并自己修改的 rails 路径。

    可能不是您正在寻找的最理想的答案,但这是我的 0.02 美元!

    【讨论】:

    • 无论如何,谢谢,这给了我一些想法。
    【解决方案2】:
    猜你喜欢
    • 2019-06-20
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    相关资源
    最近更新 更多