尝试在我的 Rails 控制器之一中创建 IMGKit 实例:
def wkhtmltoimage
...
kit = IMGKit.new("http://#{request.host_with_port}/?auth_token=" + token)
img = kit.to_img(:jpg)
file = kit.to_file(Rails.root + "public/uploads/testimage.jpg")
...
end
当我加载页面时,我得到这个:
NameError in PagesController#wkhtmltoimage
uninitialized constant PagesController::IMGKit
在我的 Gemfile 中,我包含了正确的 gem:
gem 'imgkit'
Bundler 安装得很好。当我运行 Rails 控制台时,它就在那里并且可以工作:
1.9.3p194 :005 > IMGKit.new("http://google.com")
=> #<IMGKit:0x007fb08d16a658 @source=http://google.com, @stylesheets=[], @options={}>
1.9.3p194 :006 >
为什么 IMGKit 类可以在 Rails 控制台中工作,但不能在应用程序中工作?有什么建议么?使用 RVM、Pow、Rails 3.2.6(以及所有其他 gem 都可以在该设置下正常工作)。
编辑答案
重新启动 pow 服务器似乎已经解决了这个问题。只需输入终端:
touch tmp/restart.txt
那应该这样做。