Rails Carrierwave & s3: неверное количество аргументов (2 для 1) - PullRequest
2 голосов
/ 01 апреля 2012

новый для CarrierWave, уже любящий его, намного лучше, чем Paperclip. Рельсы 3.2.1

Я успешно работал с локальным хранилищем, но теперь пытаюсь перейти на S3 и получаю странную ошибку при использовании метода _url (или столбца базы данных)

ArgumentError: неверное количество аргументов (2 для 1)

Вот мой загрузчик:

class PictureUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  storage :fog
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
  process :resize_to_limit => [200, 200]
  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

Все отлично работает с локальным хранилищем, а с S3 / fog файл загружается и изменяется до S3, я вижу его в корзине; Кажется, только что возникла проблема с методом field / field_url, который выдает ошибку (2 для 1)

Я установил непубличный s3:

CarrierWave.configure do |config|
  config.fog_credentials = {
  :provider               => 'AWS',       # required
  :aws_access_key_id      => 'xxx',       # required
  :aws_secret_access_key  => 'yyy',       # required
  :region                 => 'eu-west-1'  # optional, defaults to 'us-east-1'
 }
 config.fog_directory  = 'attachprod'                     # required
 config.fog_public     = false                                   # optional, defaults to true
end

Это на мой взгляд:

 <%= image_tag current_user.profile.picture_url %>

Полный след:

ArgumentError: wrong number of arguments (2 for 1)  
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/fog-0.9.0/lib/fog/storage/models/aws/file.rb:126:in `url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/storage/fog.rb:148:in `authenticated_url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/storage/fog.rb:307:in `url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/uploader/url.rb:19:in `url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/uploader/versions.rb:159:in `url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/uploader/default_url.rb:8:in `url'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/carrierwave-0.6.0/lib/carrierwave/uploader/url.rb:27:in `to_s'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/lib/rails/commands/console.rb:47:in `start'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/lib/rails/commands/console.rb:8:in `start'
from /Users/boudewijnvandongen/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

Любые идеи, нигде не можете найти много об этом ??

Thnx

1 Ответ

3 голосов
/ 02 апреля 2012

Оказывается, ему нужно обновить Fog gem до 1.3.1 Все в порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...