【问题标题】:Rails CarrierWave store image from url gives Can't convert nil into string来自 url 的 Rails CarrierWave 商店图像无法将 nil 转换为字符串
【发布时间】:2012-06-14 18:15:15
【问题描述】:

使用 CarrierWave 和 Amazon S3,我可以存储来自本地文件的图像,但是当我尝试从某个 url 存储它们时,我得到 'TypeError: can't convert nil into String'

    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/cache.rb:149:in `join'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/cache.rb:149:in `cache_path'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/cache.rb:121:in `block in cache!'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/callbacks.rb:17:in `with_callbacks'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/cache.rb:112:in `cache!'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/store.rb:56:in `store!'
    from (irb):5
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start'
    from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

这是我正在尝试的代码

require 'open-uri'
image = "open(image_url)
@object.image.store!(file)

显然@object 拥有上传器图像,并且使用本地文件系统运行良好。我尝试添加一个

定义根 Rails.root.join '公共/' 结束

我的上传者也没有运气。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails mongoid carrierwave


    【解决方案1】:

    要告诉载波下载远程 url,您可以使用以下语法:

    @object.remote_image_url = "http://www.example.com/file.png"
    @object.save
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 2013-04-17
    相关资源
    最近更新 更多