Ruby on rails 使用按钮而不是链接是否有优势?

Ruby on rails 使用按钮而不是链接是否有优势?,ruby-on-rails,button,hyperlink,youtube,Ruby On Rails,Button,Hyperlink,Youtube,我正在创建投票链接(竖起大拇指、竖起大拇指、收藏等) 我一直在使用RESTful rails路由,我对使用link_to处理几乎所有事情都很满意,包括not GET请求。link_to比button_to更容易设置样式,因为button_to带来了一个完整的表单,输入类型为submit,这似乎总是比使用:method=>:delete或:method=>:post只进行link_to要重。我唯一一次使用表单是在我需要从用户那里收集数据的时候,而且我从来没有使用按钮来收集数据 我去youtube看

我正在创建投票链接(竖起大拇指、竖起大拇指、收藏等)

我一直在使用RESTful rails路由,我对使用link_to处理几乎所有事情都很满意,包括not GET请求。link_to比button_to更容易设置样式,因为button_to带来了一个完整的表单,输入类型为submit,这似乎总是比使用:method=>:delete或:method=>:post只进行link_to要重。我唯一一次使用表单是在我需要从用户那里收集数据的时候,而且我从来没有使用按钮来收集数据

我去youtube看他们是如何设计投票按钮的,他们实际上是使用按钮的

 <button onclick=";return false;" title="I dislike this" type="button" class="end yt-uix-tooltip-reverse yt-uix-button yt-uix-tooltip yt-uix-button-empty" id="watch-unlike" data-button-action="yt.www.watch.actions.unlike" role="button" data-tooltip-text="I dislike this">
     <img class="yt-uix-button-icon yt-uix-button-icon-watch-unlike" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="">
 </button>

从这个片段来看,他们似乎只是将按钮用作图像精灵的容器。这个按钮没有被表单标签包围,所以我猜有一个不引人注目的js在别处触发HTTP POST

Youtube归谷歌所有,所以我想他们的做法一定是最好的做法,是吗

我所知道的在没有表单的情况下做按钮的方法是没有railsy的,除了直接写按钮标签,这总是让我在做rails还没有提供给我的事情时三思而后行

所以我的问题是,用youtube的方式做这件事的技术优势(如果有的话)是什么

都是关于

这个简单的链接不会发布没有javascript的表单

(好吧,这并不是全部,它还有语义,例如对残疾人的页面阅读器的兼容性等)

这是全部

这个简单的链接不会发布没有javascript的表单


(好吧,这并不是全部,它还有语义,例如对残疾人的页面阅读器的兼容性等)

hmm。。。但既然没有js就没有表单帖子,youtube还能优雅地降级吗?(他们的按钮不会起任何作用)尽管如此,在语义方面注意到的一点是:即使没有工作表单的功能,按钮也会让你更理解你正在改变某个东西的状态,而链接不应该。但是我应该用按钮替换所有指向:method=>:post和:method=>:delete的链接吗?页面膨胀怎么办?没错。然而,在一个浏览器中,你可以放置任何html代码,并且仍然可以为老浏览器显示元素。每当我需要更改某些内容的状态时,我最终用按钮替换了链接到。事实证明,我不得不升级到rails 3.1,因为在button_to.hmm上有一个针对remote=>true的ajax错误。。。但既然没有js就没有表单帖子,youtube还能优雅地降级吗?(他们的按钮不会起任何作用)尽管如此,在语义方面注意到的一点是:即使没有工作表单的功能,按钮也会让你更理解你正在改变某个东西的状态,而链接不应该。但是我应该用按钮替换所有指向:method=>:post和:method=>:delete的链接吗?页面膨胀怎么办?没错。然而,在一个浏览器中,你可以放置任何html代码,并且仍然可以为老浏览器显示元素。每当我需要更改某些内容的状态时,我最终用按钮替换了链接到。事实证明,我必须升级到rails 3.1,因为按钮上的remote=>true存在ajax错误。