我是一个铁杆菜鸟,所以任何帮助都会受到赞赏。
我通过以下方式安装了soundcloud gem:
$ gem install soundcloud
然后我将gem添加到我的Gemfile中,并运行rails bundle install以确保它包含在我的项目中:
$ bundle install
这将输出我项目所有包含的宝石的列表。最终的一个项目是soundcloud gem:
$ bundle install
...
Using sdoc 0.4.0
Using soundcloud 0.3.2
Using spring 1.1.2
...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
现在,当我在应用程序目录中运行rails控制台时,我能够按预期访问soundcloud模块:
$ rails console
Loading development environment (Rails 4.1.0)
2.1.1 :001 > SoundCloud
=> SoundCloud
2.1.1 :002 > client = SoundCloud.new(:client_id => 'b2dab282f8bb29467dcb4f5b27f7c075')
=> #<SoundCloud::Client:0x8972f40 ... (successful results here)
但是当我尝试在控制器或视图中使用soundcloud模块时,我得到一个包含错误的页面:
uninitialized constant SlideshowController::SoundCloud
以下是我尝试使用soundcloud模块的代码:
helper_method :sc_get_src
def sc_get_src
@sc_client ||= SoundCloud.new(:client_id => 'b2dab282f8bb29467dcb4f5b27f7c075')
sound = @sc_client.get('/resolve', :url => @slideshow.sound)
return sound.uri
end
在文档页面here上,示例中的第一行是:
require 'soundcloud'
但是,如果我在使用soundcloud模块之前添加它(在控制器,模型,视图等中),则会抛出此错误:
cannot load such file -- soundcloud
请帮忙。我需要采取另一个步骤将模块包含在我的应用程序中吗?
提前谢谢。
答案 0 :(得分:3)
这些问题通常可以通过重启rails服务器来解决。例如。对于乘客:
$ touch tmp/restart.txt
原因是,gem依赖项仅在应用程序的启动阶段加载