2015-01-11 7 views
0

나는 꽤 이해할 수없는 흥미로운 것을 경험했습니다. 모델에 표준 레일 스카 폴드를 사용하는 경우 '편집'링크 (/ user/1/edit)를 클릭하여 #edit 동작으로 이동하면 JavaScript가 실행되지 않습니다. 즉시 이 편집 페이지를 새로 고치면 JavaScript가 예상대로 실행됩니다. 레일에 캐싱 메커니즘이 있다고 가정하고 있지만 알아낼 수는 없습니다. 아무도 이것에 대한 아이디어가 있습니까?자바 스크립트가 레일에서 실행되지 않습니다. 편집 페이지

/편집

사실, 자바 스크립트 내가 새로 고침을 할 때까지 페이지의 모든 작업을 실행하지 않는 것.

+1

은 당신의 레일 응용 프로그램에서이 활성화 turbolinks되어 작동합니다. – pkrawat1

+0

@ pkrawat1 아 그 것처럼 보입니다. 감사! 받아 들일 수있는 답을 자유롭게 추가하십시오. – stewart715

+1

그래도 터보 링크를 원하면이 링크로 이동하십시오. https://github.com/kossnocorp/jquery.turbolinks – pkrawat1

답변

2

터보 링크로 인해 문제가 발생할 수 있습니다. 이벤트를 바인드하는 노드가 더 이상 존재하지 않기 때문에 문제가 발생합니다.

터보 링크의 마술을 원할 경우 jquery.turbolinks.js를 사용하여 문제를 해결할 수 있습니다.

그냥이 보석

gem 'jquery-turbolinks' 

및 응용 프로그램 JS

//= require jquery 
//= require jquery.turbolinks 
//= require jquery_ujs 
// 
// ... your other scripts here ... 
// 
//= require turbolinks 

희망에 추가이

관련 문제