0

** [0image.jpg, __MACOSX/, __MACOSX/._0image.jpg] 的未定义方法“关闭”:数组

app/controllers/components_controller.rb:49:in 'block in create' app/controllers/components_controller.rb:48:in 'create'

使用 Rails,使用回形针上传 zip 文件并使用后处理器解压缩,我在保存组件时在控制器上收到上述错误:

def create
    @component = Component.new(params[:component])

    file = @component.folder

    respond_to do |format|
    if @component.save  <--- HERE
        format.html { redirect_to @component, notice: 'Component was successfully created.' }          
        format.json { render json: @component, status: :created, location: @component }
  else
        format.html { render action: "new" }
        format.json { render json: @component.errors, status: :unprocessable_entity }
  end
end

在 component.rb 模型中,我有:

has_attached_file   :imgs,
                    :processors => [:unzipImgs],
                    :styles =>  {:original => {}},
                    :path => ":rails_root/public/system/imgs/:id/:basename.:extension"

编辑:当没有附加文件时,表格的其余部分将正确保存。

EDIT2:完整堆栈:[0image.jpg,__MACOSX/,__MACOSX/._0image.jpg]的未定义方法`close':Array Rails.root:/Users/.../rails/compolib

Application Trace | Framework Trace | Full Trace
paperclip (2.8.0) lib/paperclip/storage/filesystem.rb:43:in 'block in flush_writes'
paperclip (2.8.0) lib/paperclip/storage/filesystem.rb:42:in 'each'
paperclip (2.8.0) lib/paperclip/storage/filesystem.rb:42:in 'flush_writes'
paperclip (2.8.0) lib/paperclip/attachment.rb:214:in 'save'
paperclip (2.8.0) lib/paperclip.rb:472:in 'block in save_attached_files'
paperclip (2.8.0) lib/paperclip.rb:465:in 'block in each_attachment'
paperclip (2.8.0) lib/paperclip.rb:464:in 'each'
paperclip (2.8.0) lib/paperclip.rb:464:in 'each_attachment'
paperclip (2.8.0) lib/paperclip.rb:471:in 'save_attached_files'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in '_run__1684566124117949160__save__1124397323209591875__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in '__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in '_run_save_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in 'run_callbacks'
activerecord (3.2.8) lib/active_record/callbacks.rb:264:in 'create_or_update'
activerecord (3.2.8) lib/active_record/persistence.rb:84:in 'save'
activerecord (3.2.8) lib/active_record/validations.rb:50:in 'save'
activerecord (3.2.8) lib/active_record/attribute_methods/dirty.rb:22:in 'save'
activerecord (3.2.8) lib/active_record/transactions.rb:241:in 'block (2 levels) in save'
activerecord (3.2.8) lib/active_record/transactions.rb:295:in 'block in with_transaction_returning_status'
activerecord (3.2.8) lib/active_record/connection_adapters/abstract/database_statements.rb:192:in 'transaction'
activerecord (3.2.8) lib/active_record/transactions.rb:208:in 'transaction'
activerecord (3.2.8) lib/active_record/transactions.rb:293:in 'with_transaction_returning_status'
activerecord (3.2.8) lib/active_record/transactions.rb:241:in 'block in save'
activerecord (3.2.8) lib/active_record/transactions.rb:252:in 'rollback_active_record_state!'
activerecord (3.2.8) lib/active_record/transactions.rb:240:in 'save'
app/controllers/components_controller.rb:49:in 'block in create'
actionpack (3.2.8) lib/action_controller/metal/mime_responds.rb:270:in 'call'
actionpack (3.2.8) lib/action_controller/metal/mime_responds.rb:270:in 'retrieve_collector_from_mimes'
actionpack (3.2.8) lib/action_controller/metal/mime_responds.rb:194:in 'respond_to'
app/controllers/components_controller.rb:48:in 'create'
actionpack (3.2.8) lib/action_controller/metal/implicit_render.rb:4:in 'send_action'
actionpack (3.2.8) lib/abstract_controller/base.rb:167:in 'process_action'
actionpack (3.2.8) lib/action_controller/metal/rendering.rb:10:in 'process_action'
actionpack (3.2.8) lib/abstract_controller/callbacks.rb:18:in 'block in process_action'
activesupport (3.2.8) lib/active_support/callbacks.rb:414:in '_run__1888648103498344133__process_action__2172624313450771502__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in '__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in '_run_process_action_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in 'run_callbacks'
actionpack (3.2.8) lib/abstract_controller/callbacks.rb:17:in 'process_action'
actionpack (3.2.8) lib/action_controller/metal/rescue.rb:29:in 'process_action'
actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:30:in 'block in process_action'
activesupport (3.2.8) lib/active_support/notifications.rb:123:in 'block in instrument'
activesupport (3.2.8) lib/active_support/notifications/instrumenter.rb:20:in 'instrument'
activesupport (3.2.8) lib/active_support/notifications.rb:123:in 'instrument'
actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:29:in 'process_action'
actionpack (3.2.8) lib/action_controller/metal/params_wrapper.rb:207:in 'process_action'
activerecord (3.2.8) lib/active_record/railties/controller_runtime.rb:18:in 'process_action'
actionpack (3.2.8) lib/abstract_controller/base.rb:121:in 'process'
actionpack (3.2.8) lib/abstract_controller/rendering.rb:45:in 'process'
actionpack (3.2.8) lib/action_controller/metal.rb:203:in 'dispatch'
actionpack (3.2.8) lib/action_controller/metal/rack_delegation.rb:14:in 'dispatch'
actionpack (3.2.8) lib/action_controller/metal.rb:246:in 'block in action'
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in 'call'
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in 'dispatch'
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:36:in 'call'
journey (1.0.4) lib/journey/router.rb:68:in 'block in call'
journey (1.0.4) lib/journey/router.rb:56:in 'each'
journey (1.0.4) lib/journey/router.rb:56:in 'call'
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in 'call'
rack (1.4.1) lib/rack/etag.rb:23:in 'call'
rack (1.4.1) lib/rack/conditionalget.rb:35:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/head.rb:14:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/params_parser.rb:21:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/flash.rb:242:in 'call'
rack (1.4.1) lib/rack/session/abstract/id.rb:205:in 'context'
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/cookies.rb:339:in 'call'
activerecord (3.2.8) lib/active_record/query_cache.rb:64:in 'call'
activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in 'block in call'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in '_run__1061138199520924850__call__1124397323209591875__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in '__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in '_run_call_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in 'run_callbacks'
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in 'call'
railties (3.2.8) lib/rails/rack/logger.rb:26:in 'call_app'
railties (3.2.8) lib/rails/rack/logger.rb:16:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in 'call'
rack (1.4.1) lib/rack/methodoverride.rb:21:in 'call'
rack (1.4.1) lib/rack/runtime.rb:17:in 'call'
activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in 'call'
rack (1.4.1) lib/rack/lock.rb:15:in 'call'
actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in 'call'
railties (3.2.8) lib/rails/engine.rb:479:in 'call'
railties (3.2.8) lib/rails/application.rb:223:in 'call'
rack (1.4.1) lib/rack/content_length.rb:14:in 'call'
railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in 'call'
rack (1.4.1) lib/rack/handler/webrick.rb:59:in 'service'
/Users/oriolganduxepregona/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/webrick/httpserver.rb:138:in 'service'
/Users/oriolganduxepregona/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/webrick/httpserver.rb:94:in 'run'
/Users/oriolganduxepregona/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/webrick/server.rb:191:in 'block in start_thread'
Request

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"weF99XprqOcgJ0J+x06YM6RBE07gX66ni62UIFemVRM=",
 "component"=>{"name"=>"sadf",
 "platform"=>"asd",
 "func_desc"=>"",
 "dev_desc"=>"",
 "repo_dir"=>"",
 "xib_name"=>"",
 "folder"=>#<ActionDispatch::Http::UploadedFile:0x007fd0eb311c80 @original_filename="0image.jpg.zip",
 @content_type="application/zip",
 @headers="Content-Disposition: form-data; name=\"component[folder]\"; filename=\"0image.jpg.zip\"\r\nContent-Type: application/zip\r\n",
 @tempfile=#<File:/var/folders/69/v7w6k3gx3yb5dj0j3v17g_bh0000gn/T/RackMultipart20121109-483-hap1g9>>,
 "imgs"=>#<ActionDispatch::Http::UploadedFile:0x007fd0eb311168 @original_filename="0image.jpg.zip",
 @content_type="application/zip",
 @headers="Content-Disposition: form-data; name=\"component[imgs]\"; filename=\"0image.jpg.zip\"\r\nContent-Type: application/zip\r\n",
 @tempfile=#<File:/var/folders/69/v7w6k3gx3yb5dj0j3v17g_bh0000gn/T/RackMultipart20121109-483-aw31sq>>,
 "pos_img"=>""},
 "commit"=>"Create Component"}
4

0 回答 0