Hello!

I am using this example for file 
uploader.<https://github.com/tors/jquery-fileupload-rails-paperclip-example>
Before uploading a file I would like to open it, search for a specific 
word, assign this word to an attribute in the database and only then save 
the file in the database.

Example:
I select two files and click "upload"
The file name is assigned to a upload_file_name. 
File's size is assigned to an upload_file_size.
File is opened, I search for a word "Bug" or "Lion". 
If i find "Lion", "Lion" should be assigned to an upload_content_type. If I 
find "Bug", "Bug" should be assigned to upload_content_type.

I am not quite sure where I have to define the function that will open a 
file: in 
uploads_controller.rb<https://github.com/tors/jquery-fileupload-rails-paperclip-example/blob/master/app/controllers/uploads_controller.rb>or
 in 
uploads.rb<https://github.com/tors/jquery-fileupload-rails-paperclip-example/blob/master/app/models/upload.rb>?
 
And I do not know how to assign a "Bug" to an upload_content_type.

That is my upload.rb:

    class Upload < ActiveRecord::Base
      attr_accessible :upload, :upload_file_name, :upload_file_size
    
    Paperclip::interpolates :piks do |attachment, style|
      attachment.instance.upload_file_name
    end
      has_attached_file :upload,
                        
                        :url 
=>"/system/Files/Files/:piks/:basename.:extension",
                        :path 
=>":rails_root/public/system/Files/Files/:piks/:basename.:extension"
    
      include Rails.application.routes.url_helpers
      
       validates :upload_file_name,  :presence   => true,
                                    :format     =>{:with => 
%r{\.(txt)$}i,:message =>"should have an extension .cell"}
                                    
      validates_uniqueness_of :upload_file_name, :message =>"exists 
already."     
      
      def to_jq_upload
        {
          "name" => (read_attribute(:upload_file_name)).split(".").first,
          "size" => read_attribute(:upload_file_size),
          "url" => upload.url(:original),
          "delete_url" => upload_path(self),
          "delete_type" => "DELETE" 
        }


my uploads_controller.rb:
  

    def create
        p_attr=params[:upload]
        p_attr[:upload] = params[:upload][:upload].first if 
params[:upload][:upload].class == Array
        @upload = Upload.new(p_attr)
    
        respond_to do |format|
          if @upload.save
            format.html {
              render :json => [@upload.to_jq_upload].to_json,
              :content_type => 'BUUUUU',
              :layout => false
            }
            
            format.json { render json: [@upload.to_jq_upload].to_json, 
status: :created, location: @upload }
          else
            format.html { render action: "new" }        
             
            format.json{ render json: 
{name:(@upload.upload_file_name).split(".").first ,error: 
@upload.errors.messages[:upload_file_name]}, :status =>422}
            
          end
        end
      end


Database:

    ActiveRecord::Schema.define(:version => 20120731045929) do
    
      create_table "uploads", :force => true do |t|
        t.string   "upload_file_name"
        t.string   "upload_content_type"
        t.string   "user"
        t.integer  "upload_file_size"
        t.datetime "upload_updated_at"
        t.datetime "created_at",          :null => false
        t.datetime "updated_at",          :null => false
      end
    
    end


And function to open a file:

    def check
    File.open(??filename) do |file|
    file.each do |line| 
        type=/Lion/.match(line)   
        if type != nil 
    puts(type[0])   #assign to a database!!
    break
       end
               
    end
    end
    end

Thanks in advance
  
  
  

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/TgQtiMIzeEAJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to