файл не сохраняется в S3 с конфигурацией скрепки amazon - PullRequest
3 голосов
/ 01 марта 2011

Я занимаюсь разработкой приложения на Rails 3, в котором есть загруженная пользователем фотография профиля. Я следил за несколькими сетевыми конфигурациями, и я думаю, что я действительно близок к тому, чтобы заставить его работать, но я не могу заставить файл по какой-то причине перейти в корзину Amazon.

Вот мои настройки

модель пользователя имеет это

has_attached_file :photo, 
                    :styles => {:small => "83x83>"},
                    :storage => :s3,
                    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                    :path => "/:style/:filename",
                    :bucket => 'mybucket'

мой файл yml выглядит так

development:
  bucket: "dev"
  access_key_id: "kjlkjlkjlkjlkjlkjlkj"
  secret_access_key: "kjlkjlkjlkjlkjlkjlkj/kjlkjlkjlkjlkjlkjlkj"

test:
  bucket: "test"
  access_key_id: "kjlkjlkjlkjlkjlkjlkj"
  secret_access_key: "kjlkjlkjlkjlkjlkjlkj/kjlkjlkjlkjlkjlkjlkj"

production:
  bucket: "prod"
  access_key_id: "kjlkjlkjlkjlkjlkjlkj"
  secret_access_key: "kjlkjlkjlkjlkjlkjlkj/kjlkjlkjlkjlkjlkjlkj"

мое действие в моем контроллере делает это

def upload_image
     current_user.update_attributes(params[:user])
     redirect_to  "/profile/#{current_user.id}"
  end

Я проверил объект user.photo в консоли rails и ничего не вижу в параметре: errors. Я довольно озадачен на этом этапе. Я использовал мою FTP-программу (передачу) для подключения к учетной записи S3, используя те же кредиты, и она работала просто отлично, поэтому я почти уверен, что моя конфигурация верна.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2014

В вашей User модели вы звоните

:bucket => 'mybucket'

Но в вашем yml файле ни одно из сегментов не называется mybucket. Убедитесь, что имена совпадают.

0 голосов
/ 23 июля 2013

Измените свою конфигурацию следующим образом: -

has_attached_file :photo, :styles => {:small => "83x83>"}, :storage => :s3, :s3_credentials => YAML.load_file("#{RAILS_ROOT}/config/s3.yml"), :path => "/:style/:filename", :bucket => 'mybucket'

...