2

我學習Ruby on Rails的。我正在嘗試使用aws-s3 gem來訪問Amazon S3。我的控制器代碼讀取一行:聲明直插密鑰在Ruby on Rails的

AWS::S3::Base.establish_connection!(
     :access_key_id  => 'myrealaccesskeyishere', 
     :secret_access_key => 'myrealsecretkeyishere' 
) 

我注意到,如果我做了錯誤,有時軌會回來,並顯示幾行代碼在認爲該錯誤可能。我不應該這樣寫在.rb控制器文件中嗎?我可能冒着我的祕密鑰匙嗎?如果是這樣,我應該怎麼做呢?

回答

1

你應該把這個在初始化。將其放置在config/intializers/amazon_s3.rb

有你直接把這個代碼在控制器中的原因是什麼?

+0

就像我說的,我只是學習,所以我真的不知道要處理它的最佳方式。我只是把它放在控制器中,因爲那是我需要S3訪問的唯一地方。我用我目前的方法冒着我的祕密密鑰嗎?你的方法爲什麼優越? – GingerBreadMane

+0

@GingerBreadMane - 你是不是真正的「冒險」你的鑰匙,你只是使它更多的工作對自己以後。當你改變你的鑰匙時,你將不得不在一堆地方改變它。如果您使用初始化程序,則只需要更改一次。另外,如果你不想使用亞馬遜,你可以刪除初始化程序,而不必更新所有的控制器。 –

+1

更何況,如果你把在一個單獨的文件,你可以改變它的權限和版本控制刪除它,否則將其固定。 –