2011-03-11 43 views
5

如果我有可選參數的路線的路線如下:Rails的url_for命名爲可選參數

match 'comments/new(/:post_id/(/:parent_id))' => 'comments#new' 

有沒有乾淨的方式來創建名爲航線的聯繫?顯然,我可以這樣做:

link_to "New Comment", "comments/new/#{post_id}" 

但我認爲有一個更清潔的方法。我只是在url_for或link_to文檔中找不到任何參考。

回答

16

如果命名的路線,你可以很好地叫它:

link_to "New Comment", new_comment_path(:post_id => 1, :parent_id => 2) 
link_to "New Comment", new_comment_path(1, 2) 

match 'comments/new(/:post_id/(/:parent_id))' => 'comments#new', :as => :new_comment 

您可以用hash選項,或者按照正確的順序數組叫它