在Rails中创建URL参数

时间:2013-05-23 17:26:23

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

REST服务希望我作为客户端应用程序向他传递一个结构如下的URL:

http://localhost:3001/generic_rates?chart=medications&brand_name=advil&dose=9mg&form=tablet

所以在控制器中他正在访问它们,如params[:brand_name]

但是我应该如何在我看来制作这样的东西并将它设置给他? Rails是否有为我们形成URL的方法?

2 个答案:

答案 0 :(得分:2)

Rails为路由创建帮助程序。与评论中一样,在终端中运行rake routes,您将获得四列输出:Helper方法| HTTP方法|网址|控制器#动作。

要使用“帮助方法”,您需要附加_path o _url。可能你有generic_rates_path

获取所需网址的链接:

= link_to 'Generic Rates', generic_rates_path(chart: @chart, brand_name: @brand.name...)

所以,你可以用助手传递params。

希望这有帮助!

答案 1 :(得分:1)

来自Ruby on Rails docs

link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails"
# => <a href="/searches?query=ruby+on+rails">Ruby on Rails search</a>

link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# => <a href="/searches?foo=bar&amp;baz=quux">Nonsense search</a>