- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我遇到一个问题,即单个 gem 没有被 rails 应用程序中的 bundler 加载,而只在生产中加载 - 在开发模式下使用 gem 没有问题。
gem 是 country_select ,我们已经在 1.1.3 版本和 github 存储库中进行了尝试。该应用程序使用 Rails 3.2.11。
生产环境中bundler成功安装gem:
$ RAILS_ENV=production bundle install
...
Using coffee-rails (3.2.2)
Using country_select (1.1.3)
Using daemons (1.1.9)
...
Your bundle is complete! It was installed into /home/deploy/rails-app/shared/bundle
gem 出现在 bundler 安装到的共享 gem 目录中:
$ ls -al /home/deploy/rails-app/shared/bundle/ruby/1.9.1/gems/ | grep country
drwxrwxr-x 3 deploy deploy 4096 Apr 3 08:49 country_select-1.1.3
并且在从控制台启动 rails 时加载 gem:
$ RAILS_ENV=production script/rails c
Loading production environment (Rails 3.2.11)
irb(main):002:0> Gem.loaded_specs.keys.grep /country/
=> ["country_select"]
Rails 应用程序中对 country_select
gem 的相同检查失败。例如:
class ApplicationController < ActionController::Base
before_filter do
raise Gem.loaded_specs.keys.grep(/country/).inspect
end
#...
end
吐出 []
- 即 gem 未加载。此外,依赖 gem 的部分应用程序会因 gem 不存在而失败。
简单地在启动的某处添加一个 require 'country_select'
意味着 gem 被加载,应用程序运行。但是为什么 bundler 不使用那个特定的 gem,尽管它安装了它并将它添加到应用程序的 gem 目录中?
$ rvm -v
rvm 1.18.18 (stable)...
$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
$ gem -v
1.8.25
$ bundle -v
Bundler version 1.3.2
问题似乎“消失了”。经过几次重新部署后,它似乎正在发挥作用。尽管 country_select gem 没有被更改,但这是非常奇怪的。我仍在研究那段时间到底发生了什么变化,但我很困惑。
最佳答案
尝试运行
RAILS_ENV=production bundle exec script/rails c
关于ruby-on-rails - Bundler 不会在生产 rails 应用程序中加载 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784224/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!