Ruby on rails 如何在对ActiveModel实例使用url_时添加参数?

Ruby on rails 如何在对ActiveModel实例使用url_时添加参数?,ruby-on-rails,activemodel,url-for,Ruby On Rails,Activemodel,Url For,我想在链接到各种对象时添加一个参数 我知道我可以将ActiveModel实例传递给以生成适当的URL: url_for(@my_object) # => /my_objects/1 但是,当我尝试向生成的URL添加参数时,没有骰子 url_for(@my_object, foo: 'bar') # => ArgumentError: wrong number of arguments (given 2, expected 0..1) 现在我用url\u作为(@my\u objec

我想在链接到各种对象时添加一个参数

我知道我可以将ActiveModel实例传递给以生成适当的URL:

url_for(@my_object) # => /my_objects/1
但是,当我尝试向生成的URL添加参数时,没有骰子

url_for(@my_object, foo: 'bar') # => ArgumentError: wrong number of arguments (given 2, expected 0..1)

现在我用
url\u作为(@my\u object)+'?foo=bar'
但是它又丑又易碎,我很想找到一个更干净的/railsier解决方案。

哈哈!在搜索文档以链接到相关API时,我发现
url\u for
在引擎盖下使用,这正是我所需要的,并接受附加参数作为最后一个参数

我现在可以替换

url_for(@my_object) + '?foo=bar' # Don't do this
具有更健壮的表达式

polymorphic_path(@my_object, foo: 'bar')  # This is much better
polymorphic_url(@my_object, foo: 'bar') # Or this for a full URL

哈哈!在搜索文档以链接到相关API时,我发现
url\u for
在引擎盖下使用,这正是我所需要的,并接受附加参数作为最后一个参数

我现在可以替换

url_for(@my_object) + '?foo=bar' # Don't do this
具有更健壮的表达式

polymorphic_path(@my_object, foo: 'bar')  # This is much better
polymorphic_url(@my_object, foo: 'bar') # Or this for a full URL