とより多くの研究私は何をすべきかを見出した。 データを送信するための方法を作成、その後GridfsController
を作成するために、あなたはhttp://some.domain.com/images/uploaded/users/avatar/:user_id/:file_name
私IMAGE_URLを使用して最初の必要性:その後(おそらくファイルを作成する必要があります)initializers/carrierwave.rb
でgrid_fs_access_url
を設定
def avatar
@user = User.find(params[:id])
content = @user.avatar.read
if stale?(etag: content, public: true)
send_data content, type: @user.avatar.file.content_type, disposition: "inline"
expires_in 0, public: true
end
end
def thumb_avatar
@user = User.find(params[:id])
content = @user.avatar.tiny_thumb.read
if stale?(etag: content, public: true)
send_data content, type: @user.avatar.tiny_thumb.file.content_type, disposition: "inline"
expires_in 0, public: true
end
end
を
CarrierWave.configure do |config|
config.grid_fs_access_url = "/images"
end
次に、ルートを作成する必要があります。
match '/images/uploads/user/avatar/:id/:filename' => 'gridfs#avatar', via: :get
match '/images/uploads/user/avatar/:id/:filename' => 'gridfs#thumb_avatar', constraints: { filename: /thumb.*/ }, via: :get
image_tag
を使用して画像にアクセスできます。あなたのニーズに合わせて、より多くのルートとGridfsController
方法を試すことができます。