为什么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也都必须更新; 通过一个函数,行为(链接到其中一个东西)与当前的路由方案分离。