许多用户提出了同样的问题,但我已经堆积了......
Rails:4.2.5
Carrierwave
Cloudinary
我想在创建用户时默认上传头像图片。
#include <stdio.h>
#include <math.h>
#include <omp.h>
#include <unistd.h>
int main ()
{
printf("===MATRIX SUM===\n");
printf("N ROWS: ");
int i1; scanf("%d",&i1);
printf("M COLUMNS: ");
int j1; scanf("%d",&j1);
int matrixA[i1][j1];
int i, j;
for(i = 0; i < i1; i++){
for (j = 0; j < j1; j++){
scanf("%d",&matriuA[i][j]);
}
}
printf("\nMATRIX A: \n");
for (i = 0; i < i1; i++){
for (j = 0; j < j1; j++){
printf("%d ", matrixA[i][j]);
}
printf("\n");
}
int sum = 0;
#pragma omp parallel for private(i, j)
for (i = 0; i < i1; i++)
for (j = 0; j < j1; j++){
sum += matrixA[i][j];
}
printf("\nTHE RESULT IS: %d", sum);
return 0;
}
用户创建过程完成后,处理“after_action”。
“default_url”返回一个位于'public / fallbak /'的随机图像路径。
我把url放在user.avatar中,用户头像已经更新为NULL。 Cloudinary上没有上传任何图片。
基本上,我想在Cloudinary服务中存储图像。
当用户在屏幕上编辑用户信息时,他们可以上传头像图像。
但是我不能通过上面的逻辑将图像上传为默认头像。
我重写了Carrierwave的文档,但它对我不起作用。
我相信我的代码中缺少某些内容。
非常感谢任何帮助。
答案 0 :(得分:1)
由于ImageUploader.default_url正在返回相对路径,因此无法上传文件。
您有两种选择:
将主机参数添加到asset_path:
# app/uploaders/image_uploader.rb
def self.default_url()
ActionController::Base.helpers.asset_path("fallback/" + "avatar_#{rand(1..15).to_s}.jpg", host: 'http://example.com')
end
或者使用File.open从文件系统附加文件:
def set_default_avatar!
path = File.join(Rails.root, 'app/assets/images/fallbak', "avatar_#{rand(1..15).to_s}.jpg")
File.open(path) do |f|
@user.avatar = f
end
end