2015-10-07 93 views
0

我在Heroku上連接到AWS S3的rails應用程序用於文件存儲。我的一個熟人試圖檢查並幫助我解決問題,但遇到了以下問題:「我試圖克隆你的應用程序來玩弄它,但我似乎需要一些鑰匙才能啓動並運行。」我使用figaro進行本地env和heroku配置生產。解決這個問題的好方法是什麼?以某種方式臨時訪問或先共享github回購,然後再取走訪問權限?通過AWS S3阻止github克隆,如何授予訪問權限

UPDATE

配置/初始化/ carrierwave:

CarrierWave.configure do |config| 
    #config.fog_provider = 'fog/aws'      # required 
    config.fog_credentials = { 
    provider:    'AWS',      # required 
    aws_access_key_id:  ENV['AWS_ACCESS_KEY_ID'],      # required 
    aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']      # required 
    } 
    config.fog_directory = ENV['S3_BUCKET_NAME']       # required 
    #config.fog_public  = false          # optional, defaults to true 
    config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } # optional, defaults to {} 
end 

上傳:

class AvatarUploader < CarrierWave::Uploader::Base 

    include CarrierWave::MiniMagick 

    # Choose what kind of storage to use for this uploader: 
    if Rails.env.production? 
    storage :fog 
    else 
    storage :file 
    end 
+1

你想讓你的朋友** **能夠上傳文件到你的S3存儲桶嗎?換句話說,你試圖解決的實際問題是什麼? –

+0

不一定。由於其中一項功能無法正常工作,她只是試着在應用程序中玩耍。所以她會克隆它並修復我沒有連接到AWS的問題。 –

回答

0

無論插件您使用的文件上傳,這將有一個小配置塊,或選項散列,當您在模型中引用它時設置。她應該改變它,以便不使用亞馬遜s3選項,而是將文件保存在本地文件系統中。沒有任何細節,你正在使用哪種文件存儲系統,我不能給出更詳細的答案。

例如,如果你使用attachment_fu,你將有一個像

:storage => :s3 

一個選項,她應該改變這

:storage => :file_system 

,然後添加這是必要的如任何其他選項說明要在哪個文件夾中存儲文件。

+0

我更新了這個問題,我希望你能提出這個問題。如果我只是邀請她回購,是不是可以解決問題? –