2011-10-17 19 views
1

나는 투표 링크 (엄지 손가락, 엄지 손가락, 좋아하는 것 등)를 만드는 중입니다.링크 대신 버튼을 사용하면 어떤 이점이 있습니까?

저는 RESTful 레일 경로를 사용하고 있으며, GET 요청을 포함하여 모든 것에 대해 link_to를 사용하고 있습니다. link_to는 button_to보다 스타일 스타일이 더 쉽습니다. button_to는 submit 유형의 입력이있는 전체 양식을 가져 오므로 항상 method => : delete 또는 : method => : post를 사용하여 link_to를 수행하는 것보다 무거워 보였습니다. 내가 양식을 사용할 때만 사용자로부터 데이터를 수집해야하고 button_to를 사용하지 않습니다.

나는 유튜브에 투표 버튼의 스타일을 알려주고 실제로 버튼을 사용합니다. 그들은 이미지 스프라이트의 컨테이너 단순히 버튼을 사용하는 것처럼 보이는이 조각에서

<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가 있다고 추측합니다.

유튜브는 google이 소유하고 있습니다. 그래서 그들이 최선을 다하고 있다고 생각합니다. 그래요?

버튼없이 직접 버튼을 쓰는 것보다는 폼이없는 버튼을 사용하는 방법이 없습니다. 레일이 아직 제공하지 않는 것을 할 때 항상 두 번 생각하게 만듭니다. .

제 궁금한 점은 YouTube의 기술적 우위는 무엇입니까?

답변

1

그 모두에 대한 degrading gracefully

간단한 링크는 자바 스크립트없이 양식을 게시하지 않습니다.

+0

흠 (좋아 그것은 모두에 대해 그 또한 의미, 장애 등을 가진 사람들을위한 페이지 독자 예를 들어 호환성이 아니다) ...하지만 어떤 형태의 포스트없이이 없기 때문에 적절하게 분해 할 수 유튜브 것 js? (버튼은 아무 것도하지 않을 것입니다.) Point는 의미에 대해 언급했습니다. 작업 양식의 기능이 없더라도 단추는 링크가 적용되지 않아야하는 상황의 변화를 더 잘 이해할 수 있습니다. 그런 다음 내 모든 link_to : method => : post 및 : method =>를 button_to로 대체해야합니까? 페이지 팽창은 어떨까요? – Homan

+0

그게 맞습니다. 그러나

+0

무언가의 상태를 변경해야 할 때마다 button_to로 link_to를 대체했습니다. 리모컨 => true에 대한 ajax 버그가 button_to에 있기 때문에 레일 3.1로 업그레이드해야했습니다. – Homan

관련 문제