资产管道中不包含公共资产文件夹以正确呈现数据

时间:2014-03-18 11:48:17

标签: ruby-on-rails datatables jquery-datatables

公共资产文件夹未包含在用于呈现数据的资产中。 dataTables位于public / assets / dataTables文件夹中。

这是application.css文件

/*
*= require jquery.ui.core
*= require jquery.ui.theme
*= require jquery.dataTables
*= require_self
*= require_tree
*/

这是application.js文件

//= require  prototype
//= require  effects
//= require  dragdrop
//= require  controls
////= require  calendarview
//= require  rails
//= require_self
//= require dataTables/jquery.dataTables  

和application.rb文件是

 module RailsAppAdminNew
  class Application < Rails::Application    
    config.time_zone = 'Islamabad'
    config.active_record.default_timezone = 'Islamabad'
    config.encoding = "utf-8"
    config.filter_parameters += [:password]            
    config.autoload_paths += %W(#{config.root}/lib)
    config.autoload_paths += %W(#{config.root}/config/common_messages)

    config.autoload_paths += %W(#{config.root}/config/messages) #{config.root}/app/local_models #{config.root}/local_lib %W(#{config.root}/lib))

    config.autoload_paths += Dir["#{config.root}/lib/**/"]
    config.autoload_paths += Dir["#{config.root}/config/common_messages/*"]
    config.autoload_paths += Dir["#{config.root}/config/messages/*"]    
    config.autoload_paths += Dir["#{config.root}/app/local_models/*"]    
    config.eager_load_paths += %W(#{config.root}/app/local_models)
    config.log_level = :debug
    config.assets.enabled = true
    config.serve_static_assets = false   
    config.assets.version = '1.0'    
    config.action_view.javascript_expansions[:defaults] = %w(application.js rails.js)

  end
end

1 个答案:

答案 0 :(得分:1)

问题在于,config.serve_static_assets = false应设置为true

来自http://guides.rubyonrails.org/configuring.html

  

config.serve_static_assets将Rails配置为静态服务   资产。默认为true,但在生产环境中已转为   用作运行的服务器软件(例如Nginx或Apache)   应用程序应该提供静态资产。与默认值不同   设置运行时设置为true(绝对不推荐!)或   使用WEBrick在生产模式下测试您的应用程序。否则你不会   能够使用页面缓存和对经常存在的文件的请求   无论如何,在公共目录下都会点击你的Rails应用程序。