Question

I have a problem, I think my problem is with assets, because it works in Development environment but does not work in Production.

I'm using DataTables in my app, it's works in development mode.

I follow all steps in this link:

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

I searched for answers and I found many posts. I tried all, but still could not solve the issue.

P.S.: If I execute: RAILS_ENV=production bundle exec rake assets:precompile, datatable stops working in development mode too.

in 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

  */

Any idea please?

Was it helpful?

Solution

Your issue is probably because of Rails Asset pipelining in production.

Try this..........

In config/initializers

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

and In environments/production.rb

config.serve_static_assets = true

then

RAILS_ENV=production rake assets:precompile

then check

RAILS_ENV=production rails s
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top