使用命名路由指定控制器和操作之间有什么区别吗?
<%= link_to 'link', controller: :users, action: :index %>
将提供与
相同的结果<%= link_to 'link', users_path %>
我想知道的是,是否有任何区别,或者哪一个更好
答案 0 :(得分:2)
首选users_path
。功能上没有区别,但辅助方法允许您更改处理特定操作的控制器/操作,而不会更改导致操作的每个链接。
它也更短,同时不影响可读性。事实上,我个人更喜欢一个较短的版本:
<%= link_to 'link', :users %>
答案 1 :(得分:0)
不,只要users_path
路由到users#index
,就没有任何区别。尽管为了简洁起见,users_path
可能比大多数人更可取。将params传递给路线时,它也更具可读性:users_path(search: 'John')