Hi, I currently write a tool for my school. Therefore I have to save uploaded files. I bought Agile Web Dev. with Rails to learn webdev with Rails. I'm very new at rails and couln'd find anything on the internet. Now when I want to save the file data to the mysql database, rails gives me an error. My code is the same as written in the book on page 363. Here is my code of the model: class Document < ActiveRecord::Base has_many :comments def file=(file_field) self.filename = base_part_of(file_field.original_filename) self.content_type = file_field.content_type.chomp self.data = file_field.read end def base_part_of(file_name) name = File.basename(file_name) name.gsub(/[^\w._-]/, '') end end The data column in the database is blob the file seems to be uploaded correctly, but something goes wrong. I get this error message: ActiveRecord::StatementInvalid in Admin#create Mysql::Error: You have an error in your SQL syntax near ''3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38222073746' at line 1: I assume the long number is the binary data of the file. The part of question in the query string is this: ... 'filename.ext', x'3c3f786d6c2076657273696f ... When copy the whole query string from the error message into a text editor, delete the x after the comma, paste the string then into phpMyAdmin and execute it, everything goes well. If I omit saving the data, everything goes well. Addtional info: Rails version: 1.0.0 MySQL version: 3.23.58 So what can I do, to force Rails to do not write the x into the query string? Or what else can I do? Regards Dieter Komendera
on 2006-03-06 21:00
on 2006-03-06 23:09
Dieter Komendera wrote: > MySQL version: 3.23.58 > > So what can I do, to force Rails to do not write the x into the query > string? I believe this link may be relevant: http://wrath.rubyonrails.org/pipermail/rails/2006-... > Or what else can I do? Upgrade to a more recent version of MySQL.