2010-07-08 5 views
2

내 Rails3 뷰에 JavaScript를 추가하는 가장 좋은 방법은 무엇입니까?rails3보기에 사용자 정의 javascript를 추가하려면 어떻게합니까?

컨트롤러에서 일부 처리를 수행하고 결과에 따라 일부 JavaScript를 작성하여 결과 JavaScript를 뷰에 넣을 수 있기를 원합니다.

예를 들어 데이터베이스에서 일련의 위도/경도 점을 가져 와서 Google지도에서 마커를 만들고 싶습니다. 지도 초기화 및 마커는 자바 스크립트에서 만들어야하지만보기와 상호 작용해야합니다. (이것은 내가 성취하고자하는 것의 한 예일 뿐이며, Google Maps 통합을위한 보석/플러그인의 추천을 찾고있는 것은 아닙니다.)

js.erb 파일을 특정보기의 헤드에 렌더링하는 방법이 있습니까? 이런 종류의 일을하는 "길의 길"은 무엇입니까?

답변

4

페이지가로드되기 전에 (예 : Ajax가 아닌) JavaScript를 추가하려면 스크립트 태그가 포함 된 _javascript.html.erb 부분을 작성한 다음 보기에 다음

<%= render 'javascript' %> 

_javascript.html.erb의 코드는 컨트롤러에서 설정 한 인스턴스 변수에 액세스 할 것입니다, 당신은 그것을 .js.erb 파일과 같은 방법을 쓸 수 있습니다.

(스크립트가 <head>에있을하려는 경우 또는, 당신은 귀하의 의견에 레이아웃 파일의 <head> 섹션에 <%= yield :head %> 다음 <content_for :head do %><%= render 'javascript' %><% end %>을 사용할 수 있습니다.)

를 한 페이지에 자바 스크립트를 실행하려면 Ajax 요청에 따라 코드를 my_action.js.erb 파일에 두드려 넣고 필요에 따라 <%= @my_instance_variable.value %>을 삽입하면 결과 코드가 요청 완료 후 페이지에서 실행됩니다.

관련 문제