swf ファイルを public フォルダー (public/swf/ の下) に配置しました。問題の JS は次のとおりです。
$("#leave_requests").dataTable({
"aaSorting": [],
"sPaginationType": "bootstrap",
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "/swf/copy_csv_xls_pdf.swf"
}
});
swf ファイルが見つかったことをログで確認できます (ほとんどの場合)。
2014-07-24T09:30:58.331085+00:00 heroku[router]: at=info method=GET path="/swf/copy_csv_xls_pdf.swf" host=demo.leaverequest.co.nz request_id=d217e1d2-a995-4b35-8db2-80dae532dd37 fwd="101.98.148.9" dyno=web.1 connect=1 service=1 status=304 bytes=1152
ビューにはボタンが表示されますが、ボタンをクリックしても何も起こりません (印刷は除くが、swf コントロールでは処理されません)。
編集 - 関連する dataTables および tableTools js の読み込みも確認できます。
jquery.dataTables.js?body=1
/assets/dataTables
GET 304
Not Modified
jquery.dataTables.bootstrap.js?body=1
/assets/dataTables/bootstrap/3
GET 304
Not Modified
dataTables.tableTools.js?body=1
/assets/dataTables/extras
GET 304
Not Modified
更新された編集: jquery-datatables-rails を使用している場合は、ZeroClipboard を個別に含める必要はありません。