2015-10-07 67 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

我更新了这个问题,我希望你能提出这个问题。如果我只是邀请她回购,是不是可以解决问题? –