WelcomeOtroller中的NameError#RubyOnRails上的索引

时间:2013-11-17 06:39:00

标签: ruby-on-rails ruby youtube controller webrick

我收到了这个错误

NameError in WelcomeController#index

uninitialized constant YouTubeIt
Rails.root: C:/Sites/rails_code/youtube

顺便说一下,我检查了gem作者github,检查了常数的sintax,似乎一切都没问题,所以我无法弄明白。

这里有一个非常相似的问题:

Uninitialized constant SO

但在他的情况下,有一个拼写错误,我没有任何拼写错误,我甚至检查了教程6次,但我身边没有明显的错误,这是我的controller代码:

class WelcomeController < ApplicationController
def index
    @cliente = ::YouTubeIt::Client.new(:dev_key => "AI39si4Ao5BFsYIkbzko7b9A_iktB2Pc8DAblJJ_JzJx6IL6Mju1dYYkMKY6TByz8MJPXfm4__tCAt9Is6Mvjg2JM55kuJVVqQ")
    @videos = @cliente.videos_by(user: "AlbertoMaso2")
  end
end

已经安装了youtube_it,并通过将其添加到Gemfile来宣布它在应用中的存在。

我坚持这个,无法让它发挥作用。

任何人都可以对此有所了解吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果您更改

会发生什么
@cliente = ::YouTubeIt::Client.new...

@cliente = YouTubeIt::Client.new...

答案 1 :(得分:1)

如果您更改了Gemfile或添加了新的gem,请确保您已更新Gemfile.lock。要更新锁定文件,只需运行bundle install命令。

然后,为了检查gem的可用性,您无法运行整个rails服务器,而只需使用已加载development环境的rails控制台。这样做:

$ rails c

$ rails console

然后在IRB内,您可以尝试新的gem功能,在您的情况下如下:

irb(main):001:0> require 'youtube_it'
=> true
irb(main):002:0> YouTubeIt
=> YouTubeIt