2014-06-16 2 views
0

JavaScript의 plugin 인 datatables를 사용하여 테이블의 레코드를 정렬, 필터링, 검색합니다. 나는 사실JavaScript가 생산 환경에서 작동하지 않습니다.

config.serve_static_assets = true 

에 설정/enviroments에/production.rb

config.serve_static_assets = false 

에 아래 줄을 설정했다 정말 일 경우

어떤 foruns에서 검색, 나는 보았다.

하지만 다른 JavaScript가 작동하고 그 방법은 권장되지 않기 때문에 그렇게하지 않습니다.

그래서 다른 방법으로 테스트했습니다. 나는 datatables.js의 모든 내용을 복사하고 직접 내보기에서 잘라 냈습니다.

firts 라인은 datatables.js의 첫 번째 라인입니다.

<script type="text/javascripts"> 

(function(i,zap,p){i.fn.dataTableSettings=[]; var D=i.fn.dataTablesSettings;i.fn... 


$("#ranking").dataTable({ 
sPaginationType: "full_numbers", 
iDisplayLength: 20, 
bFilter: true, 
aLengthMenu: false, 
bLengthChange: false, 
bAutoWidth: false, 
/* fixa os valores da primeira coluna (index) */ 
fnDrawCallback: function (oSettings) { 
/* Need to redo the counters if filtered or sorted */ 
    if (oSettings.bSorted || oSettings.bFiltered){ 
    for (var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++){ 
     $('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr).html(i+1); 
    } 
    } 
}, 
aoColumnDefs: [ 
    { bSortable: false, aTargets: [ 0 ] }, 
    { aTargets: [ 14 ], bVisible: false } 
], 
aaSorting: [[ 13, 'desc' ]], 
oLanguage: { 
    sUrl: "/javascripts/i18n/data_tables_lang.json" 
} 
}); 
</script> 

그리고 다시 제작에서 작동하지 않았습니다.

프로덕션 환경에서 작동하지 않는 것을 알고 싶습니다. 코드를 복사했는데, 나는 다른 게임을 사용하지 않습니다.

왜 작동하지 않습니까?

답변

1

제 그룹은 문제없이 데이터 테이블을 정기적으로 사용합니다. dataTables.js 파일을 공급 업체/자산/javascripts 폴더에 넣고 config.serve_static_assets = false

이 설정은 문제를 일으키는 유일한 것이 아니기 때문에 production.rb 구성 파일을보고 싶습니다. config.serve_static_asset 설정에 관한

, 여기에 내가 the documentation에있는 내용은 다음과 같습니다

config.serve_static_assets은 레일 자체가 고정 자산을 제공하기 위해 구성합니다. 기본값은 true이지만 프로덕션 환경에서는 응용 프로그램을 실행하는 데 사용되는 서버 소프트웨어 (예 : Nginx 또는 Apache)가 고정 자산을 대신 제공하므로 해제됩니다. 기본 설정과 달리 (절대 권장하지 않음!)을 실행하거나 WEBrick을 사용하여 프로덕션 모드에서 앱을 테스트 할 때 true로 설정하십시오. 그렇지 않으면 페이지 캐싱을 사용할 수 없으며 공용 디렉토리 아래에 정기적으로 존재하는 파일에 대한 요청이 Rails 앱에 충돌합니다.

관련 문제