【问题标题】:Rails in production environment not working,but it's working in development environmentRails 在生产环境中不工作,但它在开发环境中工作
【发布时间】:2012-11-19 04:30:05
【问题描述】:

帖子中发生 ActionView::Template::Error#index:

找不到文件'jquery' (在/opt/ruby_apps/bookdate-website/app/assets/javascripts/cpanel_app.coffee:1) sprockets (2.1.3) lib/sprockets/context.rb:100:in `resolve'

ActionView::Template::Error 发生在主题#show:

无法加载此类文件 -- html/tokenizer actionpack (3.2.8) lib/action_controller/vendor/html-scanner/html/sanitizer.rb:18:in >`tokenize'

有时会像上面提到的那样抛出异常,但有时它会起作用 为什么?

我的红宝石环境是 ruby 1.9.3p194(2012-04-20 修订版 35410)[x86_64-linux]

Rails 3.2.8

当我连接到服务器时,一切正常,但是当我从终端断开 ssh 时,网站抛出 500 异常,日志文件打印一些错误,就像我的问题

【问题讨论】:

  • 你可以尝试在生产服务器上说rake assets:precompile
  • 是的,我在重启rails服务器之前会这样做

标签: jquery ruby-on-rails ruby production


【解决方案1】:

你的 jquery 来自哪里? 一般来说,你: a) 在你的 Gemfile 中有 'gem 'jquery-rails'',所以你需要运行 'bundle install' 并确保它在那里,或者 b)您将资产文件夹中的文件复制到某处,或 c) 你使用一个 CDN 托管的 jquery 文件

我使用 gem 是因为它更容易。

【讨论】:

  • a) jquert 在我的 Gemfile 中,它是 gem 'jquery-rails', '2.0.2' b) 我的供应商文件夹找不到类似查询文件的任何东西 c) 我关闭了托管的 CDN,但是当我连接到服务器时,这个问题并没有解决,看起来一切正常,但是当我从终端断开 ssh 时,网站抛出 500 异常,日志文件打印一些错误,比如我的问题
  • 我偶尔会遇到一些奇怪的错误,它们与另一个 gem 中的依赖关系有关。也许尝试运行一个“过时的捆绑包”以查看哪些宝石已过时,然后运行“宝石更新”。
  • 问题已解决!我用多用户重新安装了我的 ruby​​ 运行时环境,看起来不错!
猜你喜欢
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 2021-06-17
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 2021-12-08
相关资源
最近更新 更多