문제

나는 레일에서 RJS와 프로토 타입/jQuery의 전 세계를 조사하기 시작했으며 약간 혼란스러워합니다. 하나 또는 다른 곳을 어디에서 사용 해야하는지에 대한 명확한 선이없는 것 같습니다.

여기에있는 것과 같은 "활성, 뜨거운 주간"탭 중 하나를 원한다고 가정 해 봅시다. 그들 중 하나를 누를 때, 나는 내가 켜져 있던 CSS 클래스 (예 : "active-tab")를 제거하고 클릭 한 것에 추가하고 싶습니다. 그런 다음 항목이 포함 된 div를 다시로드하고 새 항목을 넣고 싶습니다.

클래스 변화가 순수한 JavaScript에서 가장 쉬운 일인 것 같습니다. 코드를 Application.js에 넣은 다음 컨텐츠로 DIV를 업데이트하는 것이 RJ에서 가장 쉬운 것 같습니다. 근데 뭐 ~해야 한다 하나는?

도움이 되었습니까?

해결책

생성 된 페이지에 직접 링크 할 수있는 능력을 사용자에게 제공하려면 정적 페이지를 확실히 사용하십시오. Ajax 사용은 정말 간단한 역사 (100% 크로스 브라우저가 아닙니다), 그래서 페이지 탐색으로 JS 경로로 이동합니다 거의 확실하게 일부 사용자 문제를 일으킬 것입니다.

즉, 이미 논의한 것은 괜찮을 것이라고 생각합니다. RJS 파일에 클래스 변경이 있으면 Page.Replace 및 부분을 사용하여 DIV 내용을 업데이트하는 것이 유용 할 수도 있습니다.

page.replace(dom_id, :partial => @page_content);

다른 팁

JavaScript를 작성하는 데 익숙하다면 항상 JavaScript를 사용하십시오. 그것에 아무런 문제가 없습니다. RJ가 존재하기 때문에 RJ를 사용할 필요는 없습니다. 실제로 아마도 추상화가 방해가 될 것입니다.

그러나 activerecord 마이그레이션에서 SQL을 생성하는 Ruby 코드를 작성하는 것처럼 JavaScript를 생성하는 Ruby 코드를 작성하려면 RJS가 작업에 적합한 도구입니다. 또는 RJS는 상당히 간단한 것을 위해 RJS를 사용할 수 있습니다. 그런 다음보다 복잡한 동작을 위해 JavaScript로 떨어집니다. 당신에게 옳은 느낌을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top