2013-10-14 28 views
1

我想創建在軌道上這樣使用Ruby的路由使用Ruby時,控制器:傳遞參數on Rails和的link_to助手

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

很抱歉,如果這是微不足道的,但我需要知道如何爲此構建一個控制器,並且知道如何使用諸如'link_to'之類的輔助方法將視圖中列出的參數傳遞給控制器​​會很有幫助。 非常感謝您

回答

1

你可以通過適當的屬性創建的網址:

<%=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是處理表單的控制器操作的路徑。 你需要的產品控制器的動作your_awesome_action和routes.rb中相應的路線:

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