Monday, September 30, 2013

[Rails] TypeError: no implicit conversion of Symbol into Hash when submitting form to upload files

I'm currently new to Rails and Ruby and I'm trying to learn from my mistakes, this time I'm trying to upload 2 files from a form for later processing, however, after I hit the "Submit" button. I keep getting this error:

TypeError in UploadFilesController#create

app/controllers/upload_files_controller.rb:28:in `new'  app/controllers/upload_files_controller.rb:28:in `create'

Request

Parameters:

{"utf8"=>"✓",   "authenticity_token"=>"2JJGtRXjWCZlPNhQdx6wOW4xvTseiRaXNylnUYvA5v4=",   "upload_files"=>{"inventory"=>#<ActionDispatch::Http::UploadedFile:0x2fd8940 @original_filename="1_Inventory.xlsx",   @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",   @headers="Content-Disposition: form-data; name=\"upload_files[inventory]\"; filename=\"1_Inventory.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n",   @tempfile=#<Tempfile:C:/Users/V80042~1/AppData/Local/Temp/RackMultipart20130930-9236-qiqijn>>,   "material_list"=>#<ActionDispatch::Http::UploadedFile:0x2fe3cf8 @original_filename="2_Material_List.xlsx",   @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",   @headers="Content-Disposition: form-data; name=\"upload_files[material_list]\"; filename=\"2_Material_List.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n",   @tempfile=#<Tempfile:C:/Users/V80042~1/AppData/Local/Temp/RackMultipart20130930-9236-g22588>>},   "commit"=>"Upload"}

My upload_files_controller:

 class UploadFilesController < ApplicationController       def new          @uploadFiles = UploadFiles.new  end      def create      @uploadFiles = UploadFiles.new(params[:upload_files])  end

Models:

Upload_Files:

class UploadFiles < ActiveRecord::Base    attr_accessible :inventory, :material_list    has_one :inventory    has_one :material_list    has_attached_file :inventory, :material_list      def new      {        "name" => read_attribute(:upload_file_name),        "size" => read_attribute(:upload_file_size),        "url" => upload_file.url(:original),        "delete_url" => upload_file_path(self),        "delete_type" => "DELETE"         }    end  end

Inventory:

class Inventory < ActiveRecord::Base    belongs_to :upload_files  end

Material List:

class MaterialList < ActiveRecord::Base    belongs_to :upload_files  end

_form:

<%= form_for :upload_files do |f| %>  <h3>Upload Inventory</h3>  <%= f.file_field :inventory %>  <h3>Upload Product List</h3>  <%= f.file_field :material_list %>  <div class="actions">      <%= f.submit "Upload" %>  </div>  <% end %>

Could you please tell me what am I doing wrong and how to fix it? Thank you in advance.


Note: In case you haven't noticed, I'm using paperclip and rails 3.x.x

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1197451b-7c77-48fe-96ea-45783058f468%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate