【问题标题】:Ruby on Rails: pass query parameters hash with key but nil valueRuby on Rails:使用键但 nil 值传递查询参数散列
【发布时间】:2022-08-03 00:05:22
【问题描述】:

在 Ruby on Rails 中,我当前的 url 有一个查询参数 ?hello。由于request.query_parameters 哈希将是{:hello=>nil},我如何通过link_to 传递它? Rails 似乎删除了任何具有 nil 值的查询参数。

  • @Eyeslandic 我在问如何将带有零值的查询参数传递给link_to。如果我这样做link_to(some_path, :hello=>nil),我想在网址中看到?hello。事实上,Rails 将删除任何具有 nil 值的查询参数。

标签: ruby-on-rails ruby-on-rails-3.2


【解决方案1】:

我认为没有真正优雅的方式。最好的 hack 似乎是这样的:

_hello = '?hello' if request.query_parameters.fetch(:hello, false).nil?
link_to('click here', some_path+"#{_hello}")

【讨论】:

    【解决方案2】:

    如果您询问如何在 helper link_to 中设置参数:

    = link_to "name_of_button", your_path(hello: nil)
    

    例子:

    = link_to 'Confirm my account', confirmation_url(hello: nil)
    

    【讨论】:

    • 我说得很清楚,Rails 会丢弃任何具有 nil 值的查询参数。
    猜你喜欢
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 2017-12-15
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多