使用Ruby on Rails和link_to helper时将参数传递给控制器

时间:2013-10-14 17:01:25

标签: ruby-on-rails ruby parameters controller link-to

我正在尝试使用Ruby on rails创建这样的路由:

 get '/products/:store/:destination/:category/'

很抱歉,如果这很简单,但我需要知道如何为此构建一个控制器,知道如何使用辅助方法(例如'link_to)将列出的参数从视图传递到控制器会很有帮助”。 非常感谢你

1 个答案:

答案 0 :(得分:1)

您可以通过传递适当的属性来创建网址:

<%=link_to 'Something Awesome', "/products/#{store}/#{destination}/#{category}"%>

我不确定您的用例是什么以及您打算如何在网址中传递这些参数。 但是,你可能想要创建一个form_tag,而不是它是一个更清洁的解决方案。

<%form_tag your_awesome_action_path do |f|%>
  <%=text_field_tag :store%>
  <%=text_field_tag :destination%>
  <%=text_field_tag :category%>
  <%=submit_tag 'Submit'%>
<%end%>

其中,your_awesome_url是将处理表单的控制器操作的路径。 你需要在产品控制器中使用一个动作your_awesome_action,在routes.rb中需要一个相应的路径:

match 'your_awesome_action' => 'products#your_awesome_action'.