为什么Rails使用link_to等辅助方法而不是

我正在学习Rails,我注意到Rails不断使用helper方法,比如link_to而不仅仅是使用普通的html。 现在我可以理解为什么他们会使用他们会使用一些辅助方法,但我不明白为什么他们更喜欢辅助方法而不是直接编码html。 为什么Rails更喜欢帮助方法,而不是你必须手动编写html? 为什么Rails团队做出这种设计选择?

在Rails应用程序中,通常使用URL和内容方法生成链接,例如

 <%= link_to @article.user.name, @article.user %> 

这肯定比手动将它们放入标签更易于管理。

 <%= @article.user.name %> 

(您正在使用路由器生成这些URL,对吗?如果你硬编码/users/1并且决定你希望它以后是/users/1-John-Doe会怎么样?)

但是对于静态链接,它并不重要。

 Google or <%= link_to 'Google', 'http://www.google.com/' %> 

人们可以为前者提供表现,或者后者保持一致的风格,因为两者都同样易于管理。

如果模型的URL路由发生了变化,那么手写的HTML也都必须更新; 通过一个函数,行为(链接到其中一个东西)与当前的路由方案分离。