【问题标题】:How to convert hash into request url?如何将哈希转换为请求网址?
【发布时间】:2013-06-24 12:24:34
【问题描述】:

我有以下键的哈希

{:action=>'index', :controller=>'users', :search=>'John'}

我想使用这个哈希键构建一个完整的请求 URL。 我尝试使用ActionDispatch::Routing::RouteSet 类,但无法按预期获取网址。

我想建立像http://localhost:3000/users?search=John这样的网址

如何获取这个请求的url?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 url actiondispatch


    【解决方案1】:
    url_for(hash)
    

    在你的情况下:

    url_for(:action=>'index', :controller=>'users', :search=>'John')
    

    返回/users?search=John host_name 将被自动添加。

    如果您明确想要添加 host_name,您可以在哈希中传递 host: 键

    【讨论】:

    • 我正在根据api.rubyonrails.org/classes/ActionDispatch/Routing/UrlFor.html 提供这个答案,但是当我在Rails 控制台中键入它时,url_for 未被识别。在按照该文档中有关包含内容的说明进行操作后,我能够调用该函数,但由于未定义 request 而引发错误。知道那里发生了什么吗?
    • 我猜这不是关于“在控制台中测试”。你让它在应用程序中工作了吗?
    • 我不是 OP,我不会质疑它是否适用于应用程序。只是想你可能知道为什么我无法让它在控制台中工作。
    • 实际上我没有尝试使用控制台。会试一试
    猜你喜欢
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2015-11-26
    • 2019-10-27
    • 2019-05-23
    • 1970-01-01
    • 2010-12-16
    • 2011-12-19
    相关资源
    最近更新 更多