【问题标题】:How do I pass a hash of options to a rails method?如何将选项哈希传递给 rails 方法?
【发布时间】:2016-02-06 12:53:55
【问题描述】:

假设我有一个hash

m = {data:{toggle:true}, class:"btn btn-success"}

我想将这个hash 直接传递给link_to 方法。比如:

link_to "click me", m.flatten

image_tag "image.png", m.flatten

我无法以任何我尝试过的方式让它工作,我也无法通过搜索找到任何东西。

我能做的最多的是手动传递值,例如:

link_to "click me, data: a[:data]

这行得通,但我想动态地这样做。

【问题讨论】:

  • 只需将哈希作为最后一个方法参数传递。
  • @DaveSchweisguth 这不仅适用于link_to。或者这是link_to特有的?
  • 它不是特定于link_to。这是 Ruby 方法调用的一个特性。
  • 省略展平。您想为方法中的哈希参数传递哈希引用,只需传递哈希,您不需要做任何特殊的事情。 ruby 中没有“hashmap”,它是一个 Hash。

标签: ruby-on-rails ruby hash hashmap


【解决方案1】:

只需传递哈希即可。像这样:

m = {data:{toggle:true}, class:"btn btn-success"}    

link_to 'Click Me', '/alu', m
#=> <a data-toggle="true" class="btn btn-success" href="/alu">Click Me</a>

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2012-08-25
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多