0

テーブルのフィールドをソートするために、rails-3.2.3/bootstrap アプリケーションでdatatables jsを使用します。

アセット パイプラインをプリコピーせずにアプリをローカルで実行すると、問題なく動作しますが、実行するとすぐに次のようになります。

RAILS_ENV=production bundle exec rake assets:precompile

結果の public/assets は、DataTables プラグインが public/assets/manifest.yml ファイルと public/assets ディレクトリに正しくパッケージ化されているように見えても、動作を妨げます。

lsoave@ubuntu:~/rails/github/gitwatcher$ ls -l app/assets/javascripts
total 84
-rw-rw-r-- 1 lsoave lsoave   553 2012-04-27 21:36 application.js
-rw-rw-r-- 1 lsoave lsoave    99 2012-04-20 21:37 bootstrap.js.coffee
-rw-rw-r-- 1 lsoave lsoave  3387 2012-04-26 20:12 DT_bootstrap.js
-rw-rw-r-- 1 lsoave lsoave 71947 2012-04-26 20:12 jquery.dataTables.min.js
lsoave@ubuntu:~/rails/github/gitwatcher$ 

どちらの application.js も正しく見えます:

app/assets/javascripts/application.js:

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require DT_bootstrap
//= require jquery.dataTables.min
//= require_tree .

もちろん、これはレールアプリがherokuで動作するのを妨げるため、さらに問題があります(アプリを最初からコンパイルするか、ローカルでプリコンパイルされたバージョンを使用できますが、とにかく動作しません)。

どのようにできるのか ?

4

2 に答える 2

4

私は自分でそれを機能させました。jquery-datatables-railsジェム使ってる?そうでない場合は、そうする必要があります。次の行を gemfile に追加します。

gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'

そして実行します:

バンドル インストール

注: これをアセット グループに入れないでください。そうしないと、heroku にデプロイするときに機能しなくなります (アセット グループは本番環境では使用されないため)。

また、必ず次の行を application.rb に追加してください:

config.assets.initialize_on_precompile = false

これらを application.js に追加します

//= require dataTables/jquery.dataTables
//= require dataTables/jquery.dataTables.bootstrap

これを application.css に追加します。

 *= require dataTables/jquery.dataTables.bootstrap

データテーブルを使用しているコントローラーの js.coffee ファイルにこれを追加します。

液体容器を使用している場合:

#// For fluid containers
$('#dashboard').dataTable({
  "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
  "sPaginationType": "bootstrap"
});

固定幅のコンテナーを使用している場合:

#// For fixed width containers
$('.datatable').dataTable({
  "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
  "sPaginationType": "bootstrap"
});
于 2012-04-28T07:00:42.587 に答える
0

これが機能しない理由はいくつか考えられます。最善の策はここから始めることです:

http://www.neilmiddleton.com/heroku-asset-pipeline-faq/

于 2012-04-27T22:00:36.687 に答える