On 9 August 2010 00:15, Xenio <[email protected]> wrote:
> On Aug 8, 4:48 pm, Xenio <[email protected]> wrote:
>> I have a DB that is already populated with data. There is a table
>> called clubs that has an logo_big field set up as a blob. I have
>> successfully used send_data to display the jpg pictures as I need them
>> in the views. I just need to setup the edit/new view to enable me to
>> upload the files.
>>
>> I tried paperclip but that requires changing the schema of the
>> database which is not really an option for me.
>>
>> I am looking for a simple implementation to change the image file.
>>
>> I have been hunting around the "to_blob" and "send_data" parameters
>> with no luck. Any help with this?
>
> In my controller I have:
>  # PUT /clubs/1
>  # PUT /clubs/1.xml
>  def update
>   �...@club = Club.find(params[:id])
>
>        if params[:club][:logo_big] && params[:club][:logo_big].size > 0
>     �[email protected]_big = params[:club][:logo_big].read
>    end
>
>    respond_to do |format|
>      if @club.update_attributes(params[:club])
>        flash[:notice] = 'Club was successfully updated.'
>        format.html { redirect_to(@club) }
>        format.xml  { head :ok }
>      else
>        format.html { render :action => "edit" }
>        format.xml  { render :xml => @club.errors, :status
> => :unprocessable_entity }
>      end
>    end
>  end
>
>  def image
>        data = Club.find(params[:id]).data
>        send_data data, :disposition => 'inline'
>  end
>
> In my edit view I have:
>
> <% form_for (@club, :html => { :multipart => true }) do |f| %>
>  <%= f.error_messages %>
>
>  <p>
>    <%= f.file_field :logo_big %></p>
>  <p class="submit_button">
>    <%= f.submit 'Update' %>
>  </p>
> <% end %>
>
> My DB has a table called clubs with a BLOB field called logo_big
>
> When I click update I get an error along the lines of: "private method
> `gsub' called for #<Tempfile:0x7213138>"
>
> What am i doing wrong? Did I mess up the syntax of the form? I'm
> working off the generated views that Rails provides.

The form looks fine, and your use of #read to get the file data looks
right as well.

What file/line are you getting the 'private method called' exception on?

Chris

-- 
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