1

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

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

抱歉,如果这是微不足道的,但我需要知道如何为此构建控制器,并且知道如何使用诸如“link_to”之类的辅助方法将列出的参数从视图传递到控制器会很有帮助。非常感谢

4

1 回答 1

1

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

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

我不确定您的用例是什么以及您打算如何在 url 中传递这些参数。但是,您可能想要创建一个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 是将处理表单的控制器操作的路径。您需要 products 控制器中的 your_awesome_action 操作和 routes.rb 中的相应路由:

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

于 2013-10-14T17:09:10.967 回答