2012-05-09 2 views
0

레일 앱에서 js/jquery를 실행하는 데 문제가 있습니다. Ruby 1.9.3 및 Rails 3.2.3이 설치되어 있습니다.자바 스크립트가 내 레일 앱에서 작동하지 않습니다.

나는/응용 프로그램/자산/자바 스크립트에서 두 JS 파일이 :

application.js 
main.js 

나는이 main.js.을 생성 내 응용 프로그램을 열 때

//= require jquery 
//= require jquery_ujs 
//= require_tree . 
//= require main.js 

, 아니 경고 메시지가 팝업 없음 IT에서

$(document).ready(function() { 
    alert('Hello world!'); 
}); 

내 application.js 다음이이 코드를있다! 소스 코드를 열기

, 내가 장소에있는 모든 JS 파일 참조 : 내가 잘못 뭐하는 거지

<script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/main.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 

을 ???

+0

브라우저에서'/assets/main.js? body = 1' 경로를 여는 경우 어떻게 보입니까 (예 : http : // localhost : 3000/assets/main.js? body = 1) –

+0

$ (document) .ready (function()) { \t alert ("Hello world!"); }); 거기에 있어야하는 코드는 다음과 같습니다. –

+0

당신은 콘솔 출력을 확인 했습니까? Chrome 또는 IE ... – Adrian

답변

0

사람들, 나는 실수를했습니다. 추상화를 위해 js 파일의 이름에 대한 잘못된 정보를 제공했습니다. my의 원래 이름은 advert.js이고 어떤 이유로 든 js로 실행되지 않습니다. 나는이 프로젝트에서 advert.css를 사용했고 레일이 css로 인식되지 않았 음을 기억했다. 나는 advertis.css의 이름을 popup.css로 바꿨다. 그리고 그것은 작동했다. 그래서 그것은 나의 advert.js로 지금했다. popup.js로 이름을 바꾸면 작동합니다!

1
//= require_tree . 

항상 application.js 또한,

$(document).ready(function() { 
    alert('Hello world!'); 
}) 

마지막 세미콜론이 필요하지 않습니다

+0

thx,하지만 여전히 동일한 문제가 변경되었습니다 ... –

0

jQuery.jsjquery_ujs.js 파일의 마지막 줄을해야한다 귀하의 게시물에 따라 자산 폴더에 없습니다.

+0

맞지만 http : // localhost : 3000/assets/jquery.js? body = 1 및 http : // localhost : 3000/assets/jquery_ujs.js? body = 1. jquery-rails gem이이 문제를 처리합니다. –

0

alert($); 또는 main.js 상단의 console.log($);

$은 정의되지 않았습니까?

관련 문제