首页 文章

CarrierWave无法与Cloudinary一起使用

提问于
浏览
0

在user.rb中

class User <ApplicationRecord mount_uploader:picture,PictureUploader end

在picture_uploader.rb中

class PictureUploader <CarrierWave :: Uploader :: Base

包括Cloudinary :: CarrierWave

存储:文件

#对于要安装的上传者,这是一个合理的默认值:

def store_dir“uploads /# /# /#”end

结束

在environement.rb中

require_relative'application'

初始化Rails应用程序

Rails.application.initialize!

需要'carrierwave / orm / activerecord'

在_form.html.erb中

<%= form.label :picture %>

<%= form.file_field :picture, id: :user_picture %>

在迁移中

class CreateUsers <ActiveRecord :: Migration [5.1]

改变

create_table:用户做| t |

t.string :email

  t.string :picture

  t.timestamps

end

结束

结束

最后,User.picture_url是Cloudinary上的网址,但此网址上没有上传任何图片 .

如果我键入rails c Cloudinary :: Uploader.upload('/ home / my_image.jpg')它就可以工作

2 回答

  • 2

    Cloudinary的热线是:

    “请在/app/uploader/pictures_uploader.rb中注释第10行和第15-17行”

    #storage:file

    #def store_dir#“uploads /# /# /#”#end

    它有效 .

  • 0

    你在 app/assets/javascript/application.js 中添加了吗?

    //= require cloudinary/jquery.cloudinary
    

    并在 app/views/layouts/application.html.erb

    <%= yield(:after_js) %>
        <%= javascript_include_tag "application", 'data-turbolinks-track' => true %>
        <%= cloudinary_js_config %>
    

    并在 application.yml (你将在你的cloudinary设置中找到你的)

    CLOUDINARY_URL: "cloudinary:/`/768932967533141:wF2ZZZrTuQ6R2Ynf_1mH3zk@dtrucdxbug"
    #this a fake url ;-)
    

    你的show.html.erb :)中的问题更多

    <%= cl_image_tag(@user.picture.path, :secure => true,
                        :width => 100, :height => 150, :crop => :fill) %>
    

    这里的设置只是一个例子,但你需要 @user.picture.path 来显示你的图片:)

    更多信息在这里https://cloudinary.com/documentation/rails_image_manipulation

相关问题