2011-10-17 32 views
1

私は投票リンク(親指、親指、お気に入りなど)を作成中です。リンクの代わりにボタンを使用する利点はありますか?

私はRESTfulなレールルートを使用していましたが、GET以外のリクエストを含むすべてのものについてlink_toを使用するのが快適です。 link_toはbutton_toよりスタイルが簡単ですが、button_toはsubmitという型の入力をフォーム全体に持ち込みます。これは常に:method =>:deleteまたは:method =>:postでlink_toを行うよりも重いようです。私がフォームを使用する唯一の時間は、ユーザーからデータを収集する必要があるときです。私はbutton_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> 

。ボタンはフォームタグで囲まれていないので、他の場所でHTTP POSTをトリガーする控えめなjsがあると思います。

YouTubeはGoogleが所有しているので、彼らはそれがベストプラクティスでなければならないと思いますよね?

私はフォームなしでボタンを使っていることを知っています。ボタンタグを直接書くのでは不十分です。レールがまだ私に提供していないことをやっているときは、 。

私の質問は、それがYouTubeのやり方をすることの技術的利点(あれば)は何ですか?

答えて

1

そのすべてについてdegrading gracefully

シンプルなリンクはjavascriptをせずにフォームをポストしません。

うーん

+0

(OK、それは、すべてのことについて、障害などを持つ人々のためのページの読者のためのそのまたセマンティクス、例えば互換性はありません)...しかし、なしのno形式の投稿がありませんので、ユーチューブが正常に低下することができるだろうjs? (そのボタンは何もしないだろう)しかし、セマンティクスについての留意点は、リンクされているべきではないが、ボタンは、あなたが何かの状態を変えているということをより理解している。しかし、私はすべて私のlink_to:method =>:postと:method =>を置き換えるべきですか?button_toで削除しますか?ページの膨らみはどうですか? – Homan

+0

その通りです。しかし、

+0

何かの状態を変更する必要があるときはいつでも、link_toをbutton_toに置き換えてしまいました。私は、rail_3.1にアップグレードしなければならなかった。なぜなら、button_toにremote => trueのajaxバグがあるからです。 – Homan

関連する問題