대부분의 사용자가 같은 질문을했다하지만 난 적재하고 업로드 : 4.2.5carrierwave 기본 이미지 업데이트 ..</p> <p>레일을 선택 및
Carrierwave
Cloudinary
를 내가 원하는 사용자가 생성 될 때 아바타 이미지를 기본값으로 업로드하십시오.
class UsersController < ApplicationController
after_action :set_default_avatar!, only: [:create]
def create
**************
**************
end
def set_default_avatar!
url = ImageUploader.default_url()
@user.update_attribute(:avatar, url)
end
end
class ImageUploader < CarrierWave::Uploader::Base
def self.default_url()
ActionController::Base.helpers.asset_path("fallback/" + "avatar_#{rand(1..15).to_s}.jpg"])
end
end
일단 사용자 생성 프로세스가 완료되면 "after_action"이 처리됩니다.
"default_url"은 'public/fallbak /'에있는 임의의 이미지 경로를 반환합니다.
url을 user.avatar에 넣었을 때 사용자 아바타가 NULL로 업데이트되었습니다. Cloudinary에 업로드 된 이미지가 없습니다.
기본적으로 Cloudine 서비스에 이미지를 저장하고 싶습니다.
사용자가 화면에서 사용자 정보를 편집하면 아바타 이미지를 업로드 할 수 있습니다.
그러나 위의 논리에 따라 기본 아바타로 이미지를 업로드 할 수 없습니다.
Carrierwave의 문서를 빨간색으로 표시하지만 나에게 적합하지 않습니다.
내 코드에 뭔가 빠져 있다고 생각합니다.
도움이 매우 감사합니다.
그 대체 있습니까
당신은 두 가지 옵션이 있습니다 Cloudinary에 미리 업로드 된 이미지? 사용자에게 할당 할 때마다 다시 업로드해야하는 이유는 무엇입니까? AFAIU 유스 케이스 당신은 PreloadedFile 클래스를 활용해야합니다. 참조 : http://cloudinary.com/documentation/rails_image_upload –