2016-05-17 64 views
1

使用命名路由來指定控制器和操作有什麼區別嗎?命名路線vs控制器和操作

<%= link_to 'link', controller: :users, action: :index %> 

可以得到同樣的結果

<%= link_to 'link', users_path %> 

我想知道的是,如果有任何區別,或者哪一個是最好

回答

2

優選users_path。功能上沒有區別,但輔助方法允許您更改處理特定操作的控制器/操作,而不會更改導致操作的每個鏈接。

它也更短,同時不影響可讀性。實際上,我個人比較喜歡的版本較短:

<%= link_to 'link', :users %> 
0

不,沒有任何區別,只要users_path路線到​​。儘管爲了簡潔起見,users_path可能比大多數更可取。在將參數傳遞給路線時,它也更具可讀性:users_path(search: 'John')