使用Carrierwave将S3添加到Heroku的Rails应用程序中

时间:2014-01-15 03:46:18

标签: ruby heroku amazon-s3 ruby-on-rails-4 carrierwave

我正在尝试将S3添加到我的Heroku应用程序中,但是我遇到了上一个问题(carrierwave image not loading into source code)的问题,其中图片网址没有加载到源代码中。< / p>

Feature_image_uploader.rb具有此而不是storage:file:

storage :fog

的Gemfile:

gem 'carrierwave'

gem 'fog', '~> 1.3.1'

fog.rb文件:

CarrierWave.configure do |config|
 config.fog_credentials = {
 :provider               => 'AWS',                
 :aws_access_key_id      => 'xxx',                 
 :aws_secret_access_key  => 'yyy',                      
 :region                 => 'eu-west-1',                  
 :host                   => 's3.example.com',             
 :endpoint               => 'https://s3.example.com:8080' 
  config.fog_directory  = 'luchiauploads'        
  config.fog_public     = false                     
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} 
end

它插入了我的访问密钥ID和秘密访问密钥。我还按照Heroku的说明运行了终端命令。

这个pastebin是我的服务器日志:http://pastebin.com/TH68bhn4

rake测试没有错误。

我知道我错过了一些非常简单的东西,但却无法解决问题。谢谢。

1 个答案:

答案 0 :(得分:1)

错误(pastebin中的第5行):

Unpermitted parameters: feature_image_cache, remove_feature_image

您需要将这些参数添加到授权属性:

<强> portofolios_controller.rb

...
private
    def portofolio_params
      params.require(:portofolio).permit(:title, :date, :content, :feature_image, :feature_image_cache, :remove_feature_image)
    end