Note that there are some explanatory texts on larger screens.

plurals
  1. POUsing Paperclip on a video file in Rails 4 -- strong parameters issue?
    primarykey
    data
    text
    <p>I would like to add a video file to an Episode model using Paperclip in a Rails 4.0.0 app. However, I get an error "no implicit conversion of Symbol into Hash" when I call episode_params in my create action (second line):</p> <pre><code>def create @episode = Episode.new(episode_params) respond_to do |format| if @episode.save format.html { redirect_to @episode, notice: 'Episode was successfully created.' } format.json { render action: 'show', status: :created, location: @episode } else format.html { render action: 'new' } format.json { render json: @episode.errors, status: :unprocessable_entity } end end </code></pre> <p>end</p> <p>My episode_params method:</p> <pre><code>def episode_params params.require(:episode).permit(:name, :number, :description, :tag_list, :video =&gt; [:tempfile, :original_filename, :content_type, :headers]) end </code></pre> <p>And the params hash:</p> <pre><code>{"utf8"=&gt;"✓", "authenticity_token"=&gt;"VbOJvzWjlXMHOYpYMkwXUfdUxm9OcQx3LTMIJzk5eJQ=", "episode"=&gt;{"name"=&gt;"Test Episode 2", "number"=&gt;"2", "description"=&gt;"Testing Paperclip with video files", "tag_list"=&gt;"test, file, video", "video"=&gt;#&lt;ActionDispatch::Http::UploadedFile:0x007fec361a80e0 @tempfile=#&lt;Tempfile:/var/folders/yt/prn3v4gx3_bcrq8kr6wlfjjw0000gn/T/RackMultipart20130817-15917-1gu47ht&gt;, @original_filename="file.mov", @content_type="video/quicktime", @headers="Content-Disposition: form-data; name=\"episode[video]\"; filename=\"file.mov\"\r\nContent-Type: video/quicktime\r\n"&gt;}, "commit"=&gt;"Create Episode", "action"=&gt;"create", "controller"=&gt;"episodes"} </code></pre> <p>I've also tried with just :video instead of :video => [ etc ] with no luck. Any ideas would be greatly appreciated.</p> <p>Full backtrace:</p> <pre><code>TypeError - no implicit conversion of Symbol into Hash: paperclip (3.5.1) lib/paperclip/attachment.rb:72:in `initialize' paperclip (3.5.1) lib/paperclip/has_attached_file.rb:46:in `block in define_instance_getter' paperclip (3.5.1) lib/paperclip/has_attached_file.rb:65:in `block in define_setter' activerecord (4.0.0) lib/active_record/attribute_assignment.rb:42:in `_assign_attribute' activerecord (4.0.0) lib/active_record/attribute_assignment.rb:29:in `block in assign_attributes' activerecord (4.0.0) lib/active_record/attribute_assignment.rb:23:in `assign_attributes' activerecord (4.0.0) lib/active_record/core.rb:192:in `initialize' activerecord (4.0.0) lib/active_record/inheritance.rb:27:in `new' app/controllers/episodes_controller.rb:34:in `create' actionpack (4.0.0) lib/action_controller/metal/implicit_render.rb:4:in `send_action' actionpack (4.0.0) lib/abstract_controller/base.rb:189:in `process_action' actionpack (4.0.0) lib/action_controller/metal/rendering.rb:10:in `process_action' actionpack (4.0.0) lib/abstract_controller/callbacks.rb:18:in `block in process_action' activesupport (4.0.0) lib/active_support/callbacks.rb:413:in `_run__3623801457634608219__process_action__callbacks' activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_callbacks' actionpack (4.0.0) lib/abstract_controller/callbacks.rb:17:in `process_action' actionpack (4.0.0) lib/action_controller/metal/rescue.rb:29:in `process_action' actionpack (4.0.0) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action' activesupport (4.0.0) lib/active_support/notifications.rb:159:in `block in instrument' activesupport (4.0.0) lib/active_support/notifications/instrumenter.rb:20:in `instrument' activesupport (4.0.0) lib/active_support/notifications.rb:159:in `instrument' actionpack (4.0.0) lib/action_controller/metal/instrumentation.rb:30:in `process_action' actionpack (4.0.0) lib/action_controller/metal/params_wrapper.rb:245:in `process_action' activerecord (4.0.0) lib/active_record/railties/controller_runtime.rb:18:in `process_action' actionpack (4.0.0) lib/abstract_controller/base.rb:136:in `process' actionpack (4.0.0) lib/abstract_controller/rendering.rb:44:in `process' actionpack (4.0.0) lib/action_controller/metal.rb:195:in `dispatch' actionpack (4.0.0) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' actionpack (4.0.0) lib/action_controller/metal.rb:231:in `block in action' actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:80:in `dispatch' actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:48:in `call' actionpack (4.0.0) lib/action_dispatch/journey/router.rb:71:in `block in call' actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:in `call' actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:655:in `call' warden (1.2.3) lib/warden/manager.rb:35:in `block in call' warden (1.2.3) lib/warden/manager.rb:34:in `call' rack (1.5.2) lib/rack/etag.rb:23:in `call' rack (1.5.2) lib/rack/conditionalget.rb:35:in `call' rack (1.5.2) lib/rack/head.rb:11:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/params_parser.rb:27:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/flash.rb:241:in `call' rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context' rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/cookies.rb:486:in `call' activerecord (4.0.0) lib/active_record/query_cache.rb:36:in `call' activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call' activerecord (4.0.0) lib/active_record/migration.rb:369:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' activesupport (4.0.0) lib/active_support/callbacks.rb:373:in `_run__4451766820120855143__call__callbacks' activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_callbacks' actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:27:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/reloader.rb:64:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/remote_ip.rb:76:in `call' better_errors (0.9.0) lib/better_errors/middleware.rb:84:in `protected_app_call' better_errors (0.9.0) lib/better_errors/middleware.rb:79:in `better_errors_call' better_errors (0.9.0) lib/better_errors/middleware.rb:56:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' railties (4.0.0) lib/rails/rack/logger.rb:38:in `call_app' railties (4.0.0) lib/rails/rack/logger.rb:21:in `block in call' activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `block in tagged' activesupport (4.0.0) lib/active_support/tagged_logging.rb:25:in `tagged' activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `tagged' railties (4.0.0) lib/rails/rack/logger.rb:21:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/request_id.rb:21:in `call' rack (1.5.2) lib/rack/methodoverride.rb:21:in `call' rack (1.5.2) lib/rack/runtime.rb:17:in `call' activesupport (4.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in `call' rack (1.5.2) lib/rack/lock.rb:17:in `call' actionpack (4.0.0) lib/action_dispatch/middleware/static.rb:64:in `call' railties (4.0.0) lib/rails/engine.rb:511:in `call' railties (4.0.0) lib/rails/application.rb:97:in `call' rack (1.5.2) lib/rack/lock.rb:17:in `call' rack (1.5.2) lib/rack/content_length.rb:14:in `call' rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service' /Users/timhusson/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service' /Users/timhusson/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run' /Users/timhusson/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread' </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload