Я пытаюсь использовать драгоценный камень CarrierWaveDirect в сочетании с драгоценным камнем CarrierWave, но при получении прямой формы загрузки я получаю сообщение об ошибке. Это в разработке, еще не пробовали в производстве. Вот форма:Ошибка при использовании CarrierWave
/app/views/users/registrations/edit.html.erb
<%= direct_upload_form_for @uploader do |f| %>
<%= f.file_field :image %>
<%= f.submit %>
<% end %>
Ошибка на <%= direct_upload_form_for @uploader do |f| %>
линии, и
ArgumentError in Users/registrations#edit
is not a recognized storage provider
ОБНОВЛЕНИЕ:
Я разработал, что внесение каких-либо изменений в код контроллера после сервер разработки был запущен, заставляет его работать. Например, если я добавляю простую линию p "test"
в любом месте контроллера, она работает. Если я остановлю сервер разработки и перезагрузив его, ошибка будет повторяться снова, но если я выберу строку p "test"
, она будет работать. Итак, я предполагаю, что по какой-то причине настройка конфигурации не была правильно настроена при запуске сервера, а изменение кода контроллера вызывает перезагрузку, что ее правильно задает?
/app/controllers/users/registrations_controller.rb
def edit
@uploader = User.new.image
@uploader.success_action_redirect = process_user_avatar_url
super
end
/app/uploaders/image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
include CarrierWaveDirect::Uploader
version :thumb do
process :resize_to_fill => [50, 50]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
/app/models/user.rb
mount_uploader :image, ImageUploader
/config/initializers/s3.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => KEY,
:aws_secret_access_key => SECRET,
}
if Rails.env.production?
config.fog_directory = PRODUCTION_BUCKET
else
config.fog_directory = DEVELOPMENT_BUCKET
end
config.fog_public = false
end
Версии
Rails 3.2.0
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.3.0]
carrierwave (0.6.2)
carrierwave_direct (0.0.6)
fog (1.5.0)
development.rb
Appname::Application.configure do
config.cache_classes = false
config.whiny_nils = true
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.raise_delivery_errors = false
config.active_support.deprecation = :log
config.action_dispatch.best_standards_support = :builtin
config.active_record.mass_assignment_sanitizer = :strict
config.active_record.auto_explain_threshold_in_seconds = 0.5
config.assets.compress = false
config.assets.debug = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.log_level = :warn
end
Не знаете, почему это получило понижение. Что я сделал не так? – ben
Вы используете только direct_upload_form_for в своих регистрациях «edit»? или это также в «новом»? –
@KyleC Использовать его только в «edit» – ben