hum, the question is the file it's represented in a model?anyway, i used
virtual attributes...
any questions, just ask =)

at sfile.rb

validate_on_create :validate_upload

def temp_file= temp_file
   @temp_file = temp_file
end

protected

def validate_update
    errors.add_to_base("Upload a valid Flash file") unless
validate_type_file @temp_file
end

def validate_type_file file
    original_filename = file.original_filename
    extension = SFile.ret_ext_file original_filename
    reg_file = Regexp.new(/(flw)/)
    if n =~ reg_file
      return true
    else
     return false
   end
end

def self.ret_ext_file n
    v = n.split('.')
    v = v[v.size-1].downcase
    return v
  end


at .erb

<h1>Welcome</h1>

<% form_for(@sfile) do |f| %>
 <%= f.error_messages %>

 <p>
   <%= f.label :title %><br />
   <%= f.text_field :title %>
 </p>
 <p>
   <%= f.label :description %><br />
   <%= f.text_area :description %>
 </p>
  <p><%= file_field 'i', 'temp_file' %></p>
 <p>
   <%= f.submit 'Create' %>
 </p>
<% end %>

at sfile_controller.rb

def create
                @sfile = Sfile.new(params[:sfile])
                @sfile.attributes = params[:i]
                respond_to do |format|
                        if @sfile.save
                                flash[:notice] = 'File was successfully
created.'
                                format.html { redirect_to(@sfile) }
                        else
                                format.html { render :action => "new" }
                        end
                end
end

2009/7/31 Gabriel Bianconi <[email protected]>

>
> Hello. I'm new with Rails and I'm trying to create a file upload app.
>
>
> I want to make that it stores the file in public/data, that only .swf
> files can be uploaded and that the filename in my server is the same
> from the form (see below).
>
> I currently have these files and want to integrate the upload to that
> form, but I don't know how to do that.
>
> Thank you,
> Gabriel.
>
> ---------------
>
> class SfilesController < ApplicationController
>         def new
>                 @sfile = Sfile.new
>         end
>
>         def create
>                 @sfile = Sfile.new(params[:sfile])
>                 respond_to do |format|
>                         if @sfile.save
>                                 flash[:notice] = 'File was successfully
> created.'
>                                 format.html { redirect_to(@sfile) }
>                         else
>                                 format.html { render :action => "new" }
>                         end
>                 end
>         end
>
>         def show
>                 @sfile = Sfile.find(params[:id])
>         end
> end
>
> --------------
>
> class Sfile < ActiveRecord::Base
>         validates_presence_of :title
> end
>
> ----------------
>
> <h1>Welcome</h1>
>
> <% form_for(@sfile) do |f| %>
>  <%= f.error_messages %>
>
>  <p>
>    <%= f.label :title %><br />
>    <%= f.text_field :title %>
>  </p>
>  <p>
>    <%= f.label :description %><br />
>    <%= f.text_area :description %>
>  </p>
>  <p>
>    <%= f.submit 'Create' %>
>  </p>
> <% end %>
> >
>

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