2

我试图在 Rails 的特定操作中使用Addressable gem。

我通常的做法是在 Gemfile 中包含 gem,然后在需要的地方 require 模块。

宝石文件:

gem 'addressable'

some_controller.rb:

class SomeController < ApplicationController

  def new
    require "addressable/uri"
    current_url = Addressable::URI.parse(request.original_url)
    ....
  end

end

但是,我在其他未使用 gem 的操作/控制器上收到 500 错误。

故障安全响应期间的错误:未初始化的常量可寻址

最后,我删除了所有调用 addressable 的代码,但将条目保留在 gemfile 中,并且 500 错误在所有操作中仍然存在。为什么会这样?

4

1 回答 1

2

不知道为什么你会得到那个特定的错误,但是使用像 Addressable 这样的 gem,你希望自动require 'addressable'执行,那么Gemfile你应该有:

gem 'addressable', :require => false
于 2015-01-05T20:23:08.910 回答