命名路由与控制器和操作

时间:2016-05-17 00:56:40

标签: ruby-on-rails routes

使用命名路由指定控制器和操作之间有什么区别吗?

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

将提供与

相同的结果
<%= link_to 'link', users_path %>

我想知道的是,是否有任何区别,或者哪一个更好

2 个答案:

答案 0 :(得分:2)

首选users_path。功能上没有区别,但辅助方法允许您更改处理特定操作的控制器/操作,而不会更改导致操作的每个链接。

它也更短,同时不影响可读性。事实上,我个人更喜欢一个较短的版本:

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

答案 1 :(得分:0)

不,只要users_path路由到users#index,就没有任何区别。尽管为了简洁起见,users_path可能比大多数人更可取。将params传递给路线时,它也更具可读性:users_path(search: 'John')