【发布时间】:2015-06-15 22:47:59
【问题描述】:
我是 Rails(和 ruby)的新手,在访问不同的命名空间时遇到了很多麻烦。具体来说,我无法从控制器类中访问 flickraw gem 的命名空间:
class ImageSourcesController < ApplicationController
def show
list = flickr.photos.getRecent
...
end
end
调用这个方法,得到响应:
undefined local variable or method `flickr' for #<ImageSourcesController:0x00000005006658>
我正在使用 bundler,我认为它确保了 gemfile 中所有 gem 的方法都是 rails 需要的。
编辑:我很愚蠢,原来我只需要重置服务器!
【问题讨论】:
-
我确实看到了那个例子,但是当我需要'flickraw'时,我得到了错误:“无法加载这样的文件——flickraw”我认为捆绑器是为了让所有的宝石都可以访问?即不需要不需要?
-
您是否尝试关注original documentation?
-
你是对的@user1618840,rails 会自动为你需要所有的 gems 文件,但是我很好奇你是否尝试过那个教程,因为我没有使用那个 gem。我在 Rails 4.1.10 和 ruby 2.2.1 中创建了一个测试应用程序,一切正常。你在 Gemfile 中包含 gem 对吗?
-
@radubogdan 是的,肯定包含了 gem,并检查了它是否安装了 bundle show
标签: ruby-on-rails ruby ruby-on-rails-3 bundler