gpt4 book ai didi

ruby-on-rails - 未初始化常量 CarrierWave::Video

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:26 27 4
gpt4 key购买 nike

我的服务器的错误信息

A NameError occurred in..

uninitialized constant CarrierWave::Video app/uploaders/video_uploader.rb:7:in
<class:VideoUploader>'

video_uploader.rb:7 => include CarrierWave::Video

信息:

  1. 在我的本地,它有效(开发和生产模式)!但是部署到服务器后,出现该错误。

  2. 但在我的服务器 rails c 生产中,
    输入“include CarrierWave::Video”,然后 Rails Console 打印的不是“NameError: uninitialized constant..”而是“Object”。这意味着“包含 CarrierWave::Video”成功!!

  3. 当然,这些 gem(gem 'carrierwave' , gem 'carrierwave-video') 在我的 Gemfile 中,Gemfile.lock 和 bundle 安装成功。(部署时)
    所以在 my_app/shared/bundle/ruby/2.0.0,我的应用程序的 GEM_HOME 和 GEM_PATH,存在这些 gems

  4. 我认为“包含”不起作用。因为像这样,当我使用 gem 'rmagick' 调整上传的图像文件大小时,我在 'include CarrierWave::RMagick' 行遇到了这个错误。
    当然,这还没有解决..

  5. 纯粹的 CarrierWave 删除行“include ~~”效果很好(例如:图片上传未调整大小..)

  6. nginx + unicorn, linux ubuntu 12.04

请帮帮我..T^T
我不知道为什么“include CarrierWave::Video”在 .rb 文件中不起作用,但在 Rails 控制台中起作用..

已添加:

  1. “要求”我的代码中不存在这些 gems(在 application.rb.. 等中),
    (需要“载波/视频”。)

  2. 如果将“require 'carrierwave/video'”添加到下面的 application.rb require 'rails/all',
    发生了我的应用程序现在一切正常。如果添加到 video_uploader.rb 并且我使用 video_uploader 请求页面,则会发生错误不能这样的文件 bulabula..

最佳答案

此错误是由于您的服务器没有重新加载模块造成的。

只需重新启动您的 Rails 服务器,一切都会正常进行。确保在加载 ORM 后加载 CarrierWave。

关于ruby-on-rails - 未初始化常量 CarrierWave::Video,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com