Datatable在开发模式下工作,但在生产中不起作用 - 资产

时间:2014-02-04 01:46:57

标签: ruby-on-rails datatable ruby-on-rails-3.2 ruby-on-rails-3.1 assets

我遇到了问题,我认为我的问题在于资产问题,因为它适用于Development环境,但在Production中不起作用。

我在我的应用中使用DataTables,它在开发模式下工作。

我按照此链接中的所有步骤操作:

  

https://github.com/rweng/jquery-datatables-rails

我搜索了答案,发现了很多帖子。我尝试了所有,但仍然无法解决问题。

P.S。:如果我执行:RAILS_ENV=production bundle exec rake assets:precompile,数据表也会停止在开发模式下工作。

Gemfile中的

source 'https://rubygems.org'

gem 'rails', '~> 3.2.16'
gem 'mysql2', '~> 0.3.14'

# Autenticação
gem 'authlogic', '~> 3.3.0'

# Autorização
gem 'cancan'

# Anexos
gem 'paperclip', '~> 3.0'

# Mailer
gem 'mail', '~> 2.5.4'

# Custom select 
gem "bootstrap-select-rails", "~> 1.3.0"

# 
gem 'whenever', :require => false

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

# Gems used only for assets and not required
# in production environments by default.
group :assets do

  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '~> 1.0.3'
  gem 'therubyracer', '~> 0.12.0'

end

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

gem 'less-rails'
gem 'jquery-rails'
gem 'jquery-ui-rails', '~> 4.1.1'

# twitter bootstrap css & javascript toolkit
gem 'twitter-bootswatch-rails', '~> 3.0.3'

# twitter bootstrap helpers gem, e.g., alerts etc...
gem 'twitter-bootswatch-rails-helpers'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

assets/javascripts/aplication.js

  //= require jquery
  //= require jquery_ujs
  //= require bootstrap
  //= require jquery.ui.all
  //= require jquery.ui.tabs
  //= require jquery.ui.tabs.min
  //= require bootstrap-tabs
  //= require interns
  //= require systems_analysts
  //= require generics
  //= require file_field
  //= require bootstrap-filestyle
  //= require dataTables/jquery.dataTables
  //= require dataTables/jquery.dataTables.bootstrap
  //= require cocoon

assets/javascripts/interns.js

  // Ordenação dos Grids por coluna
  $(document).ready(function() {
  $('#hr_curriculum_interns').dataTable({
  "aoColumnDefs": [                           // Ordenação desativada nas colunas com actions
      { 'bSortable': false, 'aTargets': [ 5, 6, 7, 8 ] }
   ],
    "bPaginate": false,
    "bFilter": false,
    "bInfo": false
  });} 
  );

assets/stylesheets/application.css

  /* Cerulean
   * Bootswatch
   *= require_self
   *= require jquery.ui.all
   *= require cerulean/loader
   *= require cerulean/bootswatch
   *= require_tree ./custom/
   *= require jquery.ui.theme
   *= require jquery.ui.core
   *= require dataTables/jquery.dataTables.bootstrap

  */

请问好吗?

1 个答案:

答案 0 :(得分:0)

您的问题可能是因为生产中的Rails Asset流水线。

试试这个..........

在config / initializers中

config.assets.precompile += %w( *.js *.css )

和在environment / production.rb

config.serve_static_assets = true

然后

RAILS_ENV=production rake assets:precompile

然后检查

RAILS_ENV=production rails s