2013-03-09 2 views
1

jquery-ui-rails 보석으로 작업하고 있습니다. 사용자가 링크를 클릭 할 때 jquery UI 대화 상자를 표시하는 연락처 양식을 만들었습니다. 차례로, 나는 개발 서버와 프로덕션 서버를 가지고있다. 개발 서버에서 링크를 클릭하면 연락처 양식이 jquery UI 대화 상자에 나타납니다. 그러나 프로덕션 웹 사이트에서 링크를 클릭하면 대화 상자가있는 대화 상자가 나타나지 않습니다. 코드는 개발 서버의 코드와 동일합니다.레일 jquery-ui-rails 보석

나는, 서버, 보석 파일을 dev에 앱 폴더에 복사 시도 등

나는 다음과 같은

이 -rake 자산 설치 -bundle 실행 깨끗한 -rake 자산 : 사전 컴파일 -restart를 서버

이것은 개발 서버에서 완벽하게 작동합니다.

프로덕션 서버에서 동일한 단계를 수행했는데 링크가 작동하지 않습니다.

저는 정말 실종되었습니다. 이것이 개발 서버의 핵심입니다. 이것은 기본적으로 나에게 아무것도 알려주지 않습니다.

는 여기에 몇 가지 코드 조각을이다 :

보석 파일 :

gem 'jquery-rails', "~> 2.1.4" 

gem 'jquery-ui-rails', "~> 3.0.0" 

링크 :

<%= link_to "Contact Us", "javascript:void(0)", :id => "contact-link" %> 

응용 프로그램 JS :

$(document).ready(function(){ 
$('#contact-link').click(function(){ 
    $('#contact-form-wrap').show(); 
    $("#contact-form-wrap").dialog({ 
     title: "Contact Us", 
     height: 420, 
     width: 350, 
     modal: true, 
     buttons: { 
      "Send": function() { 
       if($('#contact_subject').val().length != 0 && $('#contact_message').val().length != 0) { 
        $('#contact-form').submit(); 
       } 
       else { 
        $('#contact-error').html("You must select a subject and enter a message."); 
       } 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 
}); 

은 알려 주시기 바랍니다. 나는 생산에서 할 수있는 것에 정말로 제한되어있다. 나는 웹 사이트를 엉망으로 만들 수 없다.

편집 :

이 내 응용 프로그램의 js 파일이 지금과 같은 모습입니다 :

//= require jquery 
//= require jquery_ujs 
//= require jquery.ui.core 
//= require twitter/bootstrap 
//= require active_admin 
//= require contractor_validate 
//= require painter_validate 
//= require jquery.social.media.tabs.1.6 
//= require jquery.validate.min 
//= require payment 
//= require the-tooltip 
//= require general 
//= require_self 

General.js 지금은 application.js에서 제거 된 코드가 포함되어 있습니다.

+0

페이지 자원을 확인하여 모든 것이로드되었는지 확인하십시오. – a5his

+0

안녕하세요, 위의 코드가 "contact-link"로 검색되었습니다. 또한 ui 관련 코드 "ui"를 검색하고 컴파일 된 application.js 파일에 있습니다. 이건 미친 짓이야. – Brian

+0

좋아요. 나는 새로운 방법을 바란다. – Brian

답변

0

js 코드를 application.js에서 다른 파일 (예 : app/assets/javascripts/ 디렉토리의 contact_form.js)로 옮길 것을 제안합니다. application.js에는 특별한 용도가 있습니다. 이것은 매니페스트 파일입니다.

//= require jquery 
//= require jquery-ui 
//= require_tree . 

자산 파이프 라인 관리에 대해 자세히 당신은 here를 읽을 수 있습니다 : 당신이 이와 같은 당신 매니페스트 파일 루틴에 배치하면 괜찮을 것 같아요.

+0

나는 그것을 줄 것이다. 나는 그것이 어떤 차이를 만들지 확신하지 못한다. – Brian

+0

이제 작동 중입니다. 해결책이 무엇인지 확신 할 수 없습니다. – Brian