>  기사  >  웹 프론트엔드  >  수동 스크립트 태그 없이 Rails 3.1에 페이지별 JavaScript를 포함하는 방법은 무엇입니까?

수동 스크립트 태그 없이 Rails 3.1에 페이지별 JavaScript를 포함하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 07:36:30558검색

How to Include Page-Specific JavaScript in Rails 3.1 Without Manual Script Tags?

Rails 3.1에서 "페이지별" JavaScript 코드를 어디에 배치합니까?

질문:

Rails 3.1에서 //= require_tree .로 인해 모든 JavaScript가 단일 파일로 병합될 때 모든 페이지에서 실행되지 않고 페이지별 JavaScript 코드를 어떻게 포함할 수 있습니까? 코드 충돌을 방지하고 수동 스크립트 태그의 사용을 피할 수 있습니까?

답변:

컨트롤러별 JavaScript:

Rails는 컨트롤러별 자산 파일을 통해 이에 대한 솔루션을 제공합니다. 예를 들어 ProjectsController에는

  • app/assets/javascripts/projects.js.coffee
  • app/assets/stylesheets/projects.css.scss
해당 컨트롤러에 대한 고유한 JavaScript 또는 CSS 코드를 이 파일에 배치할 수 있습니다. 그런 다음 필요한 경우에만 다음을 사용하여 포함하세요.

<%= javascript_include_tag params[:controller] %>
<%= stylesheet_link_tag params[:controller] %>

Divs의 기능 래핑:

대체 접근 방식은 고유 ID 또는 클래스를 사용하여 div 태그에 기능을 래핑하는 것입니다. . JavaScript 코드는 이러한 요소가 있는지 확인하고 그에 따라 실행하여 의도한 페이지에서만 실행되도록 할 수 있습니다. 이를 통해 페이지 콘텐츠에 따라 선택적으로 포함될 수 있는 모듈식 JavaScript 코드가 가능해집니다.

코드 충돌 방지:

네임스페이스 접두사 또는 모듈 패턴을 사용하면 코드 충돌이 발생할 수 있습니다. 피하십시오. 예를 들어 특정 페이지에 대한 코드는 다음으로 래핑될 수 있습니다.

(function() {
  var PageSpecificCode = {};
  // ...
})();

수동 스크립트 태그 제거:

위 접근 방식을 사용하면 수동 스크립트 태그가 필요합니다. 개별 페이지에서는 제거됩니다. JavaScript 코드는 application.js 매니페스트 파일과 컨트롤러별 자산 파일을 통해 중앙 집중화 및 관리될 수 있어 더욱 깔끔하고 효율적인 코드 구성을 제공합니다.

위 내용은 수동 스크립트 태그 없이 Rails 3.1에 페이지별 JavaScript를 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.