Problem is here, in this line of code:

@attched_image = AttachedImage.new(params)

It should be:

@attched_image = AttachedImage.new(params[:attached_image])

On Mon, Jan 30, 2012 at 12:21 PM, Bo Zhao <[email protected]> wrote:

> I have a scenario that my user need to upload a image first and then
> assign to another model, so I used a generic model, to upload the file
> first. But I always get a exception of
> ActiveRecord::UnknownAttributeError (unknown attribute: utf8). because
> rails automatically adds a utf-8 field for the form submit.
>
> model:
> <code>
> class AttachedImage < ActiveRecord::Base
>  belongs_to :attachable, :polymorphic => true
>
>  has_attached_file :image
> end
> </code>
>
> migration:
> <code>
> class CreateAttachedImages < ActiveRecord::Migration
>  def change
>    create_table :attached_images do |t|
>
>      t.string      :image_file_name
>      t.string      :image_content_type
>      t.integer     :image_file_size
>      t.datetime    :image_updated_at
>      t.references  :attachable,  :polymorphic => true
>
>      t.timestamps
>    end
>  end
> end
> </code>
>
> And the controller:
> <code>
> class AttachedImagesController < ApplicationController
>  def create
>
>    @attched_image = AttachedImage.new(params)
>
>    respond_to do |format|
>      if @attched_image.save
>        format.js
>      else
>        format.js
>      end
>    end
>  end
> end
> </code>
>
> the view part:
> <code>
> <div id="upload-image-dialog">
>    <%= form_tag(@attached_image, :method => "POST", :remote => true,
> :html => { :multipart => true }) do %>
>      <%= file_field_tag :image %>
>      <%= submit_tag("submit") %>
>    <% end %>
>    <h1 style="display:none">Successfully Uploaded.</h1>
> </div>
> </code>
>
> it's quite straight forward, but every time I submit this form, I will
> get an exception of the utf8 field added automatically by rails.
>
> ActiveRecord::UnknownAttributeError (unknown attribute: utf8):
>  app/controllers/attached_images_controller.rb:5:in `new'
>  app/controllers/attached_images_controller.rb:5:in `create'
>
> I could not understand that, this shall not be a problem right? We are
> writing @model = Model.new(params) everyday, hope someone could help me
> out and explain what's going on under the hood, thanks!
>
> --
> Posted via http://www.ruby-forum.com/.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>


-- 
Thanks,
Prince

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to