2013-02-17 5 views
2

я работаю на мой первый проект RoR и пытается использовать драгоценный камень Paperclip, но я бегу в ошибку, я не могу показаться, чтобы выяснить:Rails Paperclip камень неверное число ошибок аргументов

wrong number of arguments (1 for 0)
app/controllers/events_controller.rb:43:in `create'
Parameters:

{"utf8"=>"✓", 
"authenticity_token"=>"OBYHA0M+TA93sNF3uqrJ/zvnnEyWJUREn4NcOl0ExfA=", 
"event"=>{"title"=>"", 
"image"=>#<ActionDispatch::Http::UploadedFile:0x007f803802b1f0 @original_filename="icon.png", 
@content_type="image/png", 
@headers="Content-Disposition: form-data; name=\"event[image]\"; filename=\"icon.png\"\r\nContent-Type: image/png\r\n", 
@tempfile=#<File:/tmp/RackMultipart20130217-21480-1molvwa>>, 
"description"=>"", 
"date"=>"", 
"time"=>""}, 
"commit"=>"Create Event"} 

Я понимаю, что в event_controller.rb в методе создания передается слишком много аргументов. Однако я следил за инструкциями QuickStart в Github от Paperclip, поэтому я не уверен, почему я получаю эту ошибку.

Вот мой код events_controller.rb

def create 
    @event = Event.create(params[:event]) 
end 

Только для отладки, я попытался изменить строку Event.create (PARAMS []), после чего ошибка изменилась с неправильным количеством аргументов (1 для 0) к неправильному числу аргументов (0 для 1).

Вот мой код event.rb

class Event < ActiveRecord::Base 
    attr_accessible :date, :description, :time, :title, :image 
    has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" } 
end 

Я проверил, что я бегу правильные версии для всего. У меня есть Paperclip 3.4.0, Rails 3.2.12, Ruby 1.9.3 и ImageMagick 6.8.3-1. Я использую Ubuntu 12.04 LTS.

Я рассмотрел довольно много подобных проблем, но большинство из них, похоже, произошло несколько лет назад и были разрешены в последующих обновлениях для Paperclip. Ни один из решений, которые я нашел в похожих сообщениях, не работал для меня, и, к сожалению, у меня просто достаточно опыта Rails, но я знаю, что происходит. Я понимаю, что я, вероятно, совершу ошибку с новичком, и в этом случае я приношу свои извинения, но по-прежнему очень ценю некоторую помощь, чтобы помочь мне на правильном пути.

Пожалуйста, дайте мне знать, если какой-либо дополнительный код или информация будут полезны для отладки.

Спасибо за ваше время!

след Применение:

cocaine (0.3.2) lib/cocaine/command_line.rb:63:in run' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/helpers.rb:31:in run' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/geometry_detector_factory.rb:18:in block in geometry_string' activesupport (3.2.12) lib/active_support/core_ext/kernel/reporting.rb:43:in silence_stream' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/geometry_detector_factory.rb:17:in geometry_string' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/geometry_detector_factory.rb:9:in make' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/geometry.rb:26:in from_file' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/thumbnail.rb:35:in initialize' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/processor.rb:33:in new' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/processor.rb:33:in make' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:431:in block in post_process_style' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:430:in each' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:430:in inject' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:430:in post_process_style' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:423:in block in post_process_styles' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:422:in each' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:422:in post_process_styles' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:415:in block (2 levels) in post_process' activesupport (3.2.12) lib/active_support/callbacks.rb:403:in _run__3384881169595487878__image_post_process__96086910066492375__callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.12) lib/active_support/callbacks.rb:385:in _run_image_post_process_callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:81:in run_callbacks' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/callbacks.rb:26:in run_paperclip_callbacks' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:414:in block in post_process' activesupport (3.2.12) lib/active_support/callbacks.rb:403:in _run__3384881169595487878__post_process__96086910066492375__callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.12) lib/active_support/callbacks.rb:385:in _run_post_process_callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:81:in run_callbacks' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/callbacks.rb:26:in run_paperclip_callbacks' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:413:in post_process' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip/attachment.rb:108:in assign' /home/user/.rvm/gems/ruby-1.9.3-p385/bundler/gems/paperclip-dcd2774e7913/lib/paperclip.rb:200:in block in has_attached_file' activerecord (3.2.12) lib/active_record/attribute_assignment.rb:85:in block in assign_attributes' activerecord (3.2.12) lib/active_record/attribute_assignment.rb:78:in each' activerecord (3.2.12) lib/active_record/attribute_assignment.rb:78:in assign_attributes' activerecord (3.2.12) lib/active_record/base.rb:497:in initialize' activerecord (3.2.12) lib/active_record/persistence.rb:44:in new' activerecord (3.2.12) lib/active_record/persistence.rb:44:in create' app/controllers/events_controller.rb:43:in create' actionpack (3.2.12) lib/action_controller/metal/implicit_render.rb:4:in send_action' actionpack (3.2.12) lib/abstract_controller/base.rb:167:in process_action' actionpack (3.2.12) lib/action_controller/metal/rendering.rb:10:in process_action' actionpack (3.2.12) lib/abstract_controller/callbacks.rb:18:in block in process_action' activesupport (3.2.12) lib/active_support/callbacks.rb:414:in run_3332570171411252513__process_action_3320642634939127128_callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.12) lib/active_support/callbacks.rb:385:in _run_process_action_callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (3.2.12) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (3.2.12) lib/action_controller/metal/rescue.rb:29:in process_action' actionpack (3.2.12) lib/action_controller/metal/instrumentation.rb:30:in block in process_action' activesupport (3.2.12) lib/active_support/notifications.rb:123:in block in instrument' activesupport (3.2.12) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (3.2.12) lib/active_support/notifications.rb:123:in instrument' actionpack (3.2.12) lib/action_controller/metal/instrumentation.rb:29:in process_action' actionpack (3.2.12) lib/action_controller/metal/params_wrapper.rb:207:in process_action' activerecord (3.2.12) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (3.2.12) lib/abstract_controller/base.rb:121:in process' actionpack (3.2.12) lib/abstract_controller/rendering.rb:45:in process' actionpack (3.2.12) lib/action_controller/metal.rb:203:in dispatch' actionpack (3.2.12) lib/action_controller/metal/rack_delegation.rb:14:in dispatch' actionpack (3.2.12) lib/action_controller/metal.rb:246:in block in action' actionpack (3.2.12) lib/action_dispatch/routing/route_set.rb:73:in call' actionpack (3.2.12) lib/action_dispatch/routing/route_set.rb:73:in dispatch' actionpack (3.2.12) 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.12) lib/action_dispatch/routing/route_set.rb:601:in call' actionpack (3.2.12) lib/action_dispatch/middleware/best_standards_support.rb:17:in call' rack (1.4.5) lib/rack/etag.rb:23:in call' rack (1.4.5) lib/rack/conditionalget.rb:35:in call' actionpack (3.2.12) lib/action_dispatch/middleware/head.rb:14:in call' actionpack (3.2.12) lib/action_dispatch/middleware/params_parser.rb:21:in call' actionpack (3.2.12) lib/action_dispatch/middleware/flash.rb:242:in call' rack (1.4.5) lib/rack/session/abstract/id.rb:210:in context' rack (1.4.5) lib/rack/session/abstract/id.rb:205:in call' actionpack (3.2.12) lib/action_dispatch/middleware/cookies.rb:341:in call' activerecord (3.2.12) lib/active_record/query_cache.rb:64:in call' activerecord (3.2.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in call' actionpack (3.2.12) lib/action_dispatch/middleware/callbacks.rb:28:in block in call' activesupport (3.2.12) lib/active_support/callbacks.rb:405:in _run__1281245379307539657__call__96086910066492375__callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.12) lib/active_support/callbacks.rb:385:in _run_call_callbacks' activesupport (3.2.12) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (3.2.12) lib/action_dispatch/middleware/callbacks.rb:27:in call' actionpack (3.2.12) lib/action_dispatch/middleware/reloader.rb:65:in call' actionpack (3.2.12) lib/action_dispatch/middleware/remote_ip.rb:31:in call' actionpack (3.2.12) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call' actionpack (3.2.12) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' railties (3.2.12) lib/rails/rack/logger.rb:32:in call_app' railties (3.2.12) lib/rails/rack/logger.rb:16:in block in call' activesupport (3.2.12) lib/active_support/tagged_logging.rb:22:in tagged' railties (3.2.12) lib/rails/rack/logger.rb:16:in call' actionpack (3.2.12) lib/action_dispatch/middleware/request_id.rb:22:in call' rack (1.4.5) lib/rack/methodoverride.rb:21:in call' rack (1.4.5) lib/rack/runtime.rb:17:in call' activesupport (3.2.12) lib/active_support/cache/strategy/local_cache.rb:72:in call' rack (1.4.5) lib/rack/lock.rb:15:in call' actionpack (3.2.12) lib/action_dispatch/middleware/static.rb:62:in call' railties (3.2.12) lib/rails/engine.rb:479:in call' railties (3.2.12) lib/rails/application.rb:223:in call' rack (1.4.5) lib/rack/content_length.rb:14:in call' railties (3.2.12) lib/rails/rack/log_tailer.rb:17:in call' rack (1.4.5) lib/rack/handler/webrick.rb:59:in service' /home/user/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/webrick/httpserver.rb:138:in service' /home/user/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/webrick/httpserver.rb:94:in run' /home/user/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

+0

«image» => #> странно, можете ли вы проверить еще раз, если это действительно выход? – MoMolog

+0

Привет, извините, я думаю, что в выходном файле был escape-символ, и он вырезал кучу сообщения. Я положил его в блок кода, и все это сейчас. Но # все еще там. – bmyers

+0

Что делать, если вы добавили 'include Paperclip :: Glue' в модель Event? – nates

ответ

4

Вы используете неправильную версию кокаина. Запустите bundle install, затем убедитесь, что вы используете bundle exec rails s, чтобы запустить сервер рельсов.

Метод запуска в более новой версии кокаина (~> 0.4.0) принимает необязательный аргумент (def run(interpolations = {})), что в более старой версии (0.3.2) этого не произошло.

См. Комментарии выше.

+0

Спасибо за помощь. Это фиксировало ошибку, которую я получал. Я целенаправленно откатился к кокаину 0.3.2 из-за ошибки от ImageMagick: «[paperclip] В процессе обработки была получена ошибка: # bmyers

+1

Мне удалось решить вторую ошибку: я создал ImageMagick из источника, как указано на их веб-сайте. Он установил себя в/usr/local/bin, и я добавил этот путь к моему файлу /config/environments/development.rb, как описывает Paperclip. Чтобы исправить NotIdentifiedByImageMagicError, я полностью удалил ImageMagick и вместо того, чтобы делать make install, я сделал sudo apt-get install imagemagick, который был установлен в/usr/bin. Я обновил файл development.rb, чтобы отразить это: (Paperclip.options [: command_path] = "/ usr/bin /"), перезапустил мой сервер и устранил проблему. – bmyers

+0

Добро пожаловать! Рад, что вы смогли заставить его работать. – nates

Смежные вопросы