sample_app的帐户按钮在heroku上不起作用,但适用于本地服务器

时间:2015-02-03 15:44:21

标签: ruby-on-rails heroku railstutorial.org

Hartl教程的Sample_app无法在线正常工作,但可以在本地服务器上运行。

问题是,当我点击帐户下拉按钮时,没有任何操作,只有“#”符号出现在URL的末尾。我在某处读到了问题可能在app/assets/javascript/application.js文件中以及这部分代码的顺序:

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .

我尝试了每个推荐的订单,但它仍然无效。有人有同样的问题吗?

2 个答案:

答案 0 :(得分:1)

我不知道该教程,但您是否预先编译了资产?

rake assets:precompile

这会将您的所有资产管道转换为生产服务器可以使用的内容。

在heroku上,你可能需要heroku run bundle exec rake assets:precompile

答案 1 :(得分:0)

我遇到了同样的问题,这就是我所做的:

  1. application.js文件如下:

    //= require jquery  
    //= require bootstrap  
    //= require jquery_ujs  
    //= require turbolinks  
    //= require_tree .
    
  2. production.rb代码如下:

     Rails.application.configure do
       # Settings specified here will take precedence over those in config/application.rb.
    
       # Code is not reloaded between requests.
       config.cache_classes = true
    
       # Eager load code on boot. This eager loads most of Rails and
       # your application in memory, allowing both threaded web servers
       # and those relying on copy on write to perform better.
       # Rake tasks automatically ignore this option for performance.
       config.eager_load = true
    
       # Full error reports are disabled and caching is turned on.
       config.consider_all_requests_local       = false
       config.action_controller.perform_caching = true
    
       # Enable Rack::Cache to put a simple HTTP cache in front of your application
       # Add `rack-cache` to your Gemfile before enabling this.
       # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
       # config.action_dispatch.rack_cache = true
    
       # Disable Rails's static asset server (Apache or nginx will already do this).
       config.serve_static_assets = true #switched to true from false from advice on stackoverflow
    
       # Compress JavaScripts and CSS.
       config.assets.js_compressor = :uglifier
       # config.assets.css_compressor = :sass
    
       # Do not fallback to assets pipeline if a precompiled asset is missed.
       config.assets.compile = true #switched to true from false from advice on stackoverflow
    
       # Generate digests for assets URLs.
       config.assets.digest = true
    
       # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
    
       # Specifies the header that your server uses for sending files.
       # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
       # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
    
       # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
       config.force_ssl = true #zzz: uncommented from rails tutorial
    
       # Set to :debug to see everything in the log.
       config.log_level = :info
    
       # Prepend all log lines with the following tags.
       # config.log_tags = [ :subdomain, :uuid ]
    
       # Use a different logger for distributed setups.
       # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
    
       # Use a different cache store in production.
       # config.cache_store = :mem_cache_store
    
       # Enable serving of images, stylesheets, and JavaScripts from an asset server.
       # config.action_controller.asset_host = "http://assets.example.com"
    
       # Ignore bad email addresses and do not raise email delivery errors.
       # Set this to true and configure the email server for immediate delivery to raise delivery errors.
       # config.action_mailer.raise_delivery_errors = false
    
       # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
       # the I18n.default_locale when a translation cannot be found).
       config.i18n.fallbacks = true
    
       # Send deprecation notices to registered listeners.
       config.active_support.deprecation = :notify
    
       # Disable automatic flushing of the log to improve performance.
       # config.autoflush_log = false
    
       # Use default logging formatter so that PID and timestamp are not suppressed.
       config.log_formatter = ::Logger::Formatter.new
    
       # Do not dump schema after migrations.
       config.active_record.dump_schema_after_migration = false
     end
    
  3. 终端命令:

    bundle exec rake assets:clean  
    bundle exec rake assets:precompile  
    bundle exec rake test  
    git add -A  
    git commit -m "finally fixing this dropdown menu"  
    git push  
    git push heroku